unicorn/qemu/target/i386
Paolo Bonzini 834e2b2643 target/i86: implement PKS
Protection Keys for Supervisor-mode pages is a simple extension of
the PKU feature that QEMU already implements. For supervisor-mode
pages, protection key restrictions come from a new MSR. The MSR
has no XSAVE state associated to it.

PKS is only respected in long mode. However, in principle it is
possible to set the MSR even outside long mode, and in fact
even the XSAVE state for PKRU could be set outside long mode
using XRSTOR. So do not limit the migration subsections for
PKRU and PKRS to long mode.

Backports e7e7bdababeefff10736c6adf410c66d2f0d46fe
2021-03-04 18:12:44 -05:00
..
arch_memory_mapping.c target/i386: enable A20 automatically in system management mode 2018-03-03 14:33:09 -05:00
bpt_helper.c x86 tcg cpus: Fix Lesser GPL version number 2021-03-02 13:33:10 -05:00
cc_helper.c x86 tcg cpus: Fix Lesser GPL version number 2021-03-02 13:33:10 -05:00
cc_helper_template.h x86 tcg cpus: Fix Lesser GPL version number 2021-03-02 13:33:10 -05:00
cpu-param.h tcg: Split out target/arch/cpu-param.h 2019-06-10 19:35:46 -04:00
cpu-qom.h i386: Register versioned CPU models 2019-08-08 19:01:35 -04:00
cpu.c target/i86: implement PKS 2021-03-04 18:12:44 -05:00
cpu.h target/i86: implement PKS 2021-03-04 18:12:44 -05:00
excp_helper.c target/i86: implement PKS 2021-03-04 18:12:44 -05:00
fpu_helper.c x86 tcg cpus: Fix Lesser GPL version number 2021-03-02 13:33:10 -05:00
helper.c target/i86: implement PKS 2021-03-04 18:12:44 -05:00
helper.h target/i386: fix IEEE SSE floating-point exception raising 2021-02-25 23:21:32 -05:00
int_helper.c x86 tcg cpus: Fix Lesser GPL version number 2021-03-02 13:33:10 -05:00
Makefile.objs target/i386: add the CONFIG_TCG into Makefiles 2018-03-03 21:57:22 -05:00
mem_helper.c x86 tcg cpus: Fix Lesser GPL version number 2021-03-02 13:33:10 -05:00
misc_helper.c target/i86: implement PKS 2021-03-04 18:12:44 -05:00
mpx_helper.c x86 tcg cpus: Fix Lesser GPL version number 2021-03-02 13:33:10 -05:00
ops_sse.h x86 tcg cpus: Fix Lesser GPL version number 2021-03-02 13:33:10 -05:00
ops_sse_header.h x86 tcg cpus: Fix Lesser GPL version number 2021-03-02 13:33:10 -05:00
seg_helper.c target/i386: Check privilege level for protected mode 'int N' task gate 2021-03-03 19:32:10 -05:00
shift_helper_template.h x86 tcg cpus: Fix Lesser GPL version number 2021-03-02 13:33:10 -05:00
smm_helper.c x86 tcg cpus: Fix Lesser GPL version number 2021-03-02 13:33:10 -05:00
svm.h target-i386: Add NPT support 2018-07-03 19:52:56 -04:00
svm_helper.c x86 tcg cpus: Fix Lesser GPL version number 2021-03-02 13:33:10 -05:00
topology.h i386: Update new x86_apicid parsing rules with die_offset support 2019-08-08 18:22:03 -04:00
translate.c target/i386: Fix decoding of certain BMI instructions 2021-03-04 18:08:47 -05:00
unicorn.c check arguments, return error instead of raising exceptions. (#1125) 2020-01-14 09:00:11 -05:00
unicorn.h Move target-* CPU file into a target/ folder 2018-03-01 22:50:58 -05:00