unicorn/qemu/target
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
..
arm target/arm: Inline gen_bx_im into callers 2019-11-28 02:54:09 -05:00
i386 x86: Intel AVX512_BF16 feature enabling 2019-11-18 22:06:57 -05:00
m68k target/m68k: replace LIT64 with UINT64_C macros 2019-11-18 21:05:59 -05:00
mips target/mips: Switch to do_transaction_failed() hook 2019-11-28 02:54:53 -05:00
riscv target/riscv: Remove redundant declaration pragmas 2019-11-18 21:22:09 -05:00
sparc target/sparc: Correctly handle bus errors in page table walks 2019-11-28 02:56:25 -05:00