1
0
Fork 0
mirror of https://github.com/yuzu-emu/unicorn.git synced 2025-01-14 02:05:39 +00:00
unicorn/qemu/target-i386
Pavel Dovgalyuk e73fbde2ce
target-i386: fix icount processing for repz instructions
TCG generates optimized code for i386 repz instructions in single step mode.
It means that when ecx becomes 0, execution of the string instruction breaks
immediately without an additional iteration for ecx==0 (which will only check
ecx and set the flags). Omitting this iteration leads to different
instructions counting in singlestep mode and in normal execution.
This patch disables optimization of this last iteration for icount mode
which should be deterministic.

Backport commit c4d4525c38cd93cc5d1a743976eb25ac571d435f from qemu
2018-02-17 15:23:20 -05:00
..
arch_memory_mapping.c Switch non-CPU callers from ld/st*_phys to address_space_ld/st* 2018-02-12 19:27:02 -05:00
bpt_helper.c target-i386: Make check_hw_breakpoints static 2018-02-11 12:28:08 -05:00
cc_helper.c This code should now build the x86_x64-softmmu part 2. 2017-01-19 22:50:28 +11:00
cc_helper_template.h This code should now build the x86_x64-softmmu part 2. 2017-01-19 22:50:28 +11:00
cpu-qom.h target-i386: create a separate AddressSpace for each CPU 2018-02-13 12:36:26 -05:00
cpu.c target-i386: add feature flags for CPUID[EAX=0xd,ECX=1] 2018-02-17 15:23:19 -05:00
cpu.h target-i386: add feature flags for CPUID[EAX=0xd,ECX=1] 2018-02-17 15:23:19 -05:00
excp_helper.c import 2015-08-21 15:04:50 +08:00
fpu_helper.c target-i386: fbld instruction doesn't set minus sign 2018-02-17 15:23:20 -05:00
helper.c target-i386: Use correct memory attributes for memory accesses 2018-02-13 11:54:12 -05:00
helper.h target-i386: Use correct memory attributes for ioport accesses 2018-02-13 12:27:43 -05:00
int_helper.c This code should now build the x86_x64-softmmu part 2. 2017-01-19 22:50:28 +11:00
Makefile.objs target-i386: Move breakpoint related functions to new file 2018-02-11 12:25:24 -05:00
mem_helper.c no more spinlock 2017-01-20 14:57:33 +08:00
misc_helper.c target-i386: Use correct memory attributes for ioport accesses 2018-02-13 12:27:43 -05:00
ops_sse.h target-i386: simplify AES emulation 2018-02-17 15:23:19 -05:00
ops_sse_header.h import 2015-08-21 15:04:50 +08:00
seg_helper.c target-i386: Use correct memory attributes for memory accesses 2018-02-13 11:54:12 -05:00
shift_helper_template.h This code should now build the x86_x64-softmmu part 2. 2017-01-19 22:50:28 +11:00
smm_helper.c target-i386: set G=1 in SMM big real mode selectors 2018-02-13 12:31:18 -05:00
svm.h Automated leading tab to spaces conversion. 2017-01-21 12:28:22 +11:00
svm_helper.c target-i386: Use correct memory attributes for memory accesses 2018-02-13 11:54:12 -05:00
TODO import 2015-08-21 15:04:50 +08:00
topology.h platform.h move 2017-01-21 00:13:21 +11:00
translate.c target-i386: fix icount processing for repz instructions 2018-02-17 15:23:20 -05:00
unicorn.c target-i386: make xmm_regs 512-bit wide 2018-02-12 12:38:43 -05:00
unicorn.h New feature: registers can be bulk saved/restored in an opaque blob 2016-08-20 04:14:07 -07:00