unicorn/qemu
lazymio 225d387325
Fix wrong sync after UC_ERR_[READ, WRITE, FETCH]_[UNMAPPED, PROT] (#1368)
* Fix wrong sync after UC_ERR_[READ, WRITE, FETCH]_[UNMAPPED, PROT]

Note that:
1. We only guarantee the pc (and other internal states) is correct
if and only of `uc_emu_start` returns without any error (or errors
have been handled in callbacks.).
2. If memory read/write error isn't handled by hooks, the state is
undefined and the pc is probably wrong if no hook is installed.

This fixes #1323.

* Rename variables

* Add note in unicorn.h

* Refine test_i386_invalid_mem_read_in_tb
2021-05-12 00:10:45 +08:00
..
default-configs delete unused file i386-softmmu.mak 2020-04-27 01:31:39 +08:00
docs cleanup qemu docs 2017-01-18 15:23:40 +08:00
fpu fix some uninitialized vars in fpu 2020-06-07 11:22:18 +08:00
hw Expose different 32-bit ARM CPU models to users via UC_MODE flags (#1165) 2019-10-26 05:01:00 +08:00
include Fix build with LLVM on powerpc64(le) (#1347) 2020-10-25 07:34:57 +08:00
qapi we do not need Python to build anymore 2020-04-30 13:58:33 +08:00
qobject This code should now build the x86_x64-softmmu part 2. 2017-01-19 22:50:28 +11:00
qom Two fixes to get unicorn build better with MSVC. (#1136) 2019-09-05 00:53:37 +08:00
scripts fix qemu/scripts/qapi-build.sh 2020-04-30 14:00:48 +08:00
target-arm Support querying architecture mode besides arm (#1389) 2021-04-26 00:31:29 +08:00
target-i386 X86 instruction FTST was incorrectly overwriting ST0 instead of FT0 (#1372) 2021-05-08 18:45:14 +08:00
target-m68k fix m68k func name (#1245) 2020-04-28 09:51:45 +08:00
target-mips fix some oss-fuzz (#1224) 2020-03-24 16:23:04 +08:00
target-sparc fix some oss-fuzz (#1206) 2020-02-25 11:36:06 +08:00
tcg fix #1246 (#1254) 2020-05-18 19:57:44 +08:00
util qemu_getauxval FreeBSD implementation backport (#1366) 2020-12-31 18:53:36 +08:00
CODING_STYLE import 2015-08-21 15:04:50 +08:00
COPYING import 2015-08-21 15:04:50 +08:00
COPYING.LIB import 2015-08-21 15:04:50 +08:00
HACKING import 2015-08-21 15:04:50 +08:00
LICENSE import 2015-08-21 15:04:50 +08:00
Makefile we do not need Python to build anymore 2020-04-30 13:58:33 +08:00
Makefile.objs cleanup qemu Makefile* 2020-04-27 23:01:26 +08:00
Makefile.target more qemu/Makefile* cleanup 2020-04-28 02:38:51 +08:00
VERSION import 2015-08-21 15:04:50 +08:00
aarch64.h arm64eb: add support for ARM64 big endian. 2017-04-24 23:30:01 +08:00
aarch64eb.h arm64eb: add support for ARM64 big endian. 2017-04-24 23:30:01 +08:00
accel.c Automated leading tab to spaces conversion. 2017-01-21 12:28:22 +11:00
arm.h armeb: rename arm's and mips's *REGS_STORAGE_SIZE to avoid big-endian and little-endian's duplicated definition. 2017-03-15 22:25:35 +08:00
armeb.h armeb: rename arm's and mips's *REGS_STORAGE_SIZE to avoid big-endian and little-endian's duplicated definition. 2017-03-15 22:25:35 +08:00
configure we do not need Python to build anymore 2020-04-30 13:58:33 +08:00
cpu-exec.c Fix wrong sync after UC_ERR_[READ, WRITE, FETCH]_[UNMAPPED, PROT] (#1368) 2021-05-12 00:10:45 +08:00
cpus.c save cpu->jmp_env in saving context, so uc_emu_start() can be reentrant. also improved Python binding on handling context 2020-06-05 20:12:44 +08:00
cputlb.c fix some oss-fuzz (#1200) 2020-02-10 22:33:00 +08:00
exec.c fix error handling of mmap() calls (#1283) 2020-06-05 10:30:23 +08:00
gen_all_header.sh arm64eb: add support for ARM64 big endian. 2017-04-24 23:30:01 +08:00
glib_compat.c Remove warnings (#1140) 2019-09-08 16:44:16 +08:00
header_gen.py arm64eb: add support for ARM64 big endian. 2017-04-24 23:30:01 +08:00
ioport.c Fix UAF when deleting hook while in hook callback #1127 (#1130) 2020-05-07 14:24:48 +08:00
m68k.h add arm_release to qemu/header_gen.py, and regenerate qemu/armeb.h 2017-03-14 23:41:31 +08:00
memory.c merge msvc with master 2017-02-24 10:39:36 +08:00
memory_mapping.c revert to use of g_free to make future qemu integrations easier (#695) 2016-12-21 22:28:36 +08:00
mips.h armeb: rename arm's and mips's *REGS_STORAGE_SIZE to avoid big-endian and little-endian's duplicated definition. 2017-03-15 22:25:35 +08:00
mips64.h armeb: rename arm's and mips's *REGS_STORAGE_SIZE to avoid big-endian and little-endian's duplicated definition. 2017-03-15 22:25:35 +08:00
mips64el.h armeb: rename arm's and mips's *REGS_STORAGE_SIZE to avoid big-endian and little-endian's duplicated definition. 2017-03-15 22:25:35 +08:00
mipsel.h armeb: rename arm's and mips's *REGS_STORAGE_SIZE to avoid big-endian and little-endian's duplicated definition. 2017-03-15 22:25:35 +08:00
qapi-types.c we do not need Python to build anymore 2020-04-30 13:58:33 +08:00
qapi-types.h we do not need Python to build anymore 2020-04-30 13:58:33 +08:00
qapi-visit.c we do not need Python to build anymore 2020-04-30 13:58:33 +08:00
qapi-visit.h we do not need Python to build anymore 2020-04-30 13:58:33 +08:00
qemu-log.c import 2015-08-21 15:04:50 +08:00
qemu-timer.c timer is redundant 2017-01-20 16:46:58 +08:00
rules.mak import 2015-08-21 15:04:50 +08:00
softmmu_template.h fix recursive UC_HOOK_MEM callbacks for cross pages access (#1113) 2020-05-25 16:22:28 +08:00
sparc.h add arm_release to qemu/header_gen.py, and regenerate qemu/armeb.h 2017-03-14 23:41:31 +08:00
sparc64.h add arm_release to qemu/header_gen.py, and regenerate qemu/armeb.h 2017-03-14 23:41:31 +08:00
tcg-runtime.c platform.h move #3 2017-01-21 00:13:21 +11:00
translate-all.c fix some oss-fuzz (#1206) 2020-02-25 11:36:06 +08:00
translate-all.h import 2015-08-21 15:04:50 +08:00
unicorn_common.h Removes some bugs found by oss-fuzz (#1266) 2020-05-26 20:52:40 +08:00
vl.c This code should now build the x86_x64-softmmu part 2. 2017-01-19 22:50:28 +11:00
vl.h import 2015-08-21 15:04:50 +08:00
x86_64.h add arm_release to qemu/header_gen.py, and regenerate qemu/armeb.h 2017-03-14 23:41:31 +08:00