unicorn/qemu/target/i386
Bin Meng c59e391194 target/i386: seg_helper: Correct segment selector nullification in the RET/IRET helper
Per the SDM, when returning to outer privilege level, for segment
registers (ES, FS, GS, and DS) if the check fails, the segment
selector becomes null, but QEMU clears the base/limit/flags as well
as nullifying the segment selector, which should be a spec violation.

Real hardware seems to be compliant with the spec, at least on one
Coffee Lake board I tested.

Backports c2ba0515f2df58a661fcb5d6485139877d92ab1b
2021-03-03 19:10:24 -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 x86 tcg cpus: Fix Lesser GPL version number 2021-03-02 13:33:10 -05:00
cpu.h x86 tcg cpus: Fix Lesser GPL version number 2021-03-02 13:33:10 -05:00
excp_helper.c x86 tcg cpus: Fix Lesser GPL version number 2021-03-02 13:33:10 -05:00
fpu_helper.c x86 tcg cpus: Fix Lesser GPL version number 2021-03-02 13:33:10 -05:00
helper.c x86 tcg cpus: Fix Lesser GPL version number 2021-03-02 13:33:10 -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 x86 tcg cpus: Fix Lesser GPL version number 2021-03-02 13:33:10 -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: seg_helper: Correct segment selector nullification in the RET/IRET helper 2021-03-03 19:10:24 -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 operand order for PDEP and PEXT 2021-03-03 19:09:21 -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