3c818dfcc2
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. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Message-id: 20190801183012.17564-5-peter.maydell@linaro.org |
||
---|---|---|
.. | ||
asi.h | ||
cc_helper.c | ||
cpu-param.h | ||
cpu-qom.h | ||
cpu.c | ||
cpu.h | ||
fop_helper.c | ||
gdbstub.c | ||
helper.c | ||
helper.h | ||
int32_helper.c | ||
int64_helper.c | ||
ldst_helper.c | ||
machine.c | ||
Makefile.objs | ||
mmu_helper.c | ||
monitor.c | ||
TODO | ||
trace-events | ||
translate.c | ||
vis_helper.c | ||
win_helper.c |