unicorn/qemu
Peter Maydell 0d6cada970
target/sparc: Correctly handle bus errors in page table walks
Currently we use the ldl_phys() function to read page table entries.
With the unassigned_access hook in place, if these hit an unassigned
area of memory then the hook will cause us to wrongly generate
an exception with a fault address matching the address of the
page table entry.

Change to using address_space_ldl() so we can detect and correctly
handle bus errors and give them their correct behaviour of
causing a translation error with a suitable fault status register.

Note that this won't actually take effect until we switch the
over to using the do_translation_failed hook.

Backports commit 3c818dfcc271f5ba298b06f33466ab30f9a28349 from qemu
2019-11-28 02:56:25 -05:00
..
accel atomic_template: fix indentation in GEN_ATOMIC_HELPER 2019-11-28 02:38:07 -05:00
crypto
default-configs target/riscv: Initial introduction of the RISC-V target 2019-03-08 21:46:10 -05:00
docs
fpu fpu: rename softfloat-specialize.h -> .inc.c 2019-11-18 21:12:30 -05:00
hw i386: Update new x86_apicid parsing rules with die_offset support 2019-08-08 18:22:03 -04:00
include include/exec/cpu-defs.h: fix typo 2019-11-28 02:38:15 -05:00
qapi
qobject
qom cpu: Move icount_decr to CPUNegativeOffsetState 2019-06-13 15:34:28 -04:00
scripts decodetree: Suppress redundant declaration warnings 2019-11-18 21:21:30 -05:00
target target/sparc: Correctly handle bus errors in page table walks 2019-11-28 02:56:25 -05:00
tcg tcg/README: fix typo s/afterwise/afterwards/ 2019-11-28 02:37:51 -05:00
util util/cacheinfo: Use uint64_t on LLP64 model to satisfy Windows ARM64 2019-05-09 17:43:27 -04:00
aarch64.h target/arm: Remove helper_double_saturate 2019-11-18 20:13:21 -05:00
aarch64eb.h target/arm: Remove helper_double_saturate 2019-11-18 20:13:21 -05:00
accel.c
arm.h Revert "target/arm: Use unallocated_encoding for aarch32" 2019-11-18 23:49:47 -05:00
armeb.h Revert "target/arm: Use unallocated_encoding for aarch32" 2019-11-18 23:49:47 -05:00
CODING_STYLE.rst docs: split the CODING_STYLE doc into distinct groups 2019-11-28 02:54:44 -05:00
configure configure: remove AUTOCONF_HOST 2019-11-18 22:19:47 -05:00
COPYING
COPYING.LIB
cpus.c
exec.c exec.c: add a check between constants to see whether we could skip 2019-11-28 02:55:42 -05:00
gen_all_header.sh
glib_compat.c target/arm/translate: Synchronize with Qemu 2019-04-27 10:13:01 -04:00
header_gen.py target/mips: Switch to do_transaction_failed() hook 2019-11-28 02:54:53 -05:00
ioport.c
LICENSE
m68k.h target/arm: Remove helper_double_saturate 2019-11-18 20:13:21 -05:00
Makefile Makefile: Rename targets for make recursion 2019-08-08 17:26:49 -04:00
Makefile.objs
Makefile.target
memory.c memory: Align MemoryRegionSections fields 2019-11-18 16:42:47 -05:00
memory_ldst.inc.c
memory_mapping.c
mips.h target/mips: Switch to do_transaction_failed() hook 2019-11-28 02:54:53 -05:00
mips64.h target/mips: Switch to do_transaction_failed() hook 2019-11-28 02:54:53 -05:00
mips64el.h target/mips: Switch to do_transaction_failed() hook 2019-11-28 02:54:53 -05:00
mipsel.h target/mips: Switch to do_transaction_failed() hook 2019-11-28 02:54:53 -05:00
powerpc.h target/arm: Remove helper_double_saturate 2019-11-18 20:13:21 -05:00
qemu-timer.c
riscv32.h target/arm: Remove helper_double_saturate 2019-11-18 20:13:21 -05:00
riscv64.h target/arm: Remove helper_double_saturate 2019-11-18 20:13:21 -05:00
rules.mak
sparc.h target/arm: Remove helper_double_saturate 2019-11-18 20:13:21 -05:00
sparc64.h target/arm: Remove helper_double_saturate 2019-11-18 20:13:21 -05:00
unicorn_common.h
VERSION Open 4.2 development tree 2019-11-18 16:42:51 -05:00
vl.c
vl.h
x86_64.h target/arm: Remove helper_double_saturate 2019-11-18 20:13:21 -05:00