qemu-e2k/tests
Ilya Leoshkevich 950936681f target/i386: Make translator stop before the end of a page
Right now translator stops right *after* the end of a page, which
breaks reporting of fault locations when the last instruction of a
multi-insn translation block crosses a page boundary.

An implementation, like the one arm and s390x have, would require an
i386 length disassembler, which is burdensome to maintain. Another
alternative would be to single-step at the end of a guest page, but
this may come with a performance impact.

Fix by snapshotting disassembly state and restoring it after we figure
out we crossed a page boundary. This includes rolling back cc_op
updates and emitted ops.

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1143
Message-Id: <20220817150506.592862-4-iii@linux.ibm.com>
[rth: Simplify end-of-insn cross-page checks.]
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2022-09-06 08:04:26 +01:00
..
avocado tests/avocado/migration: Get find_free_port() from the ports 2022-08-30 07:55:43 +02:00
bench test/crypto: Add test suite for crypto akcipher 2022-05-26 11:41:54 +01:00
data tests/acpi: virt: update golden masters for VIOT 2022-06-09 19:32:49 -04:00
decode
docker trivial: Fix duplicated words 2022-08-01 11:58:02 +02:00
fp meson: remove dead assignments 2022-09-01 07:42:37 +02:00
guest-debug tests/guest-debug: better handle gdb crashes 2022-04-20 16:04:20 +01:00
image-fuzzer
include
keys
lcitool tests: refresh to latest libvirt-ci module 2022-07-29 09:48:01 +01:00
migration tests: Use g_mkdir_with_parents() 2022-08-25 15:24:09 +02:00
multiboot
perf/block/qcow2
plugin tests/plugins: add instruction matching to libinsn.so 2022-02-09 12:08:42 +00:00
qapi-schema meson: remove dead assignments 2022-09-01 07:42:37 +02:00
qemu-iotests tests/qemu-iotests/264: Allow up to 5s for the BLOCK_JOB_CANCEL event to arrive 2022-08-07 18:51:35 +02:00
qtest tests/qtest/ac97-test: Correct reference to driver 2022-08-29 15:29:13 +02:00
rocker
tcg target/i386: Make translator stop before the end of a page 2022-09-06 08:04:26 +01:00
tsan
uefi-test-tools
unit chardev patches & small audio fix 2022-09-02 11:14:22 -04:00
vm tests/vm: Add libslirp to the VM tests 2022-08-29 15:28:51 +02:00
vmstate-static-checker-data
check-block.sh tests/qemu-iotests: Move the bash and sanitizer checks to meson.build 2022-04-20 09:46:54 +02:00
dbus-vmstate-daemon.sh
Makefile.include tests: install "qemu" namespace package into venv 2022-06-06 09:26:54 +02:00
meson.build meson: create have_vhost_* variables 2022-05-07 07:46:58 +02:00
requirements.txt tests: install "qemu" namespace package into venv 2022-06-06 09:26:54 +02:00
test-qht-par.c
vhost-user-bridge.c Replace qemu_real_host_page variables with inlined functions 2022-04-06 10:50:38 +02:00