unicorn/qemu/target/sparc
Peter Maydell 7d2ca16d7f
target/sparc: Handle bus errors in mmu_probe()
Convert the mmu_probe() function to using address_space_ldl()
rather than ldl_phys(), so we can explicitly detect memory
transaction failures.

This makes no practical difference at the moment, because
ldl_phys() will return 0 on a transaction failure, and we
treat transaction failures and 0 PDEs identically. However
the spec says that MMU probe operations are supposed to
update the fault status registers, and if we ever implement
that we'll want to distinguish the difference. For the
moment, just add a TODO comment about the bug.

Backports commit d86a9ad33c75ed795f09fb43243d0acecd583f24 from qemu
2019-11-28 02:56:32 -05:00
..
asi.h Clean up ill-advised or unusual header guards 2019-05-14 08:02:53 -04:00
cc_helper.c target/sparc/cc_helper: Perform a comparison pass against qemu 2018-03-12 12:36:51 -04:00
cpu-param.h tcg: Split out target/arch/cpu-param.h 2019-06-10 19:35:46 -04:00
cpu-qom.h sparc: convert cpu models to SPARC cpu subclasses 2018-03-07 21:30:22 -05:00
cpu.c cpu: Introduce cpu_set_cpustate_pointers 2019-06-12 12:27:16 -04:00
cpu.h configure: Define target access alignment in configure 2019-11-18 21:41:35 -05:00
fop_helper.c target/sparc: Use env_cpu, env_archcpu 2019-06-12 12:13:03 -04:00
helper.c target/sparc: Use env_cpu, env_archcpu 2019-06-12 12:13:03 -04:00
helper.h Move target-* CPU file into a target/ folder 2018-03-01 22:50:58 -05:00
int32_helper.c sparc: embed sparc_def_t into CPUSPARCState 2018-03-07 21:35:23 -05:00
int64_helper.c sparc: embed sparc_def_t into CPUSPARCState 2018-03-07 21:35:23 -05:00
ldst_helper.c target/sparc: Check for transaction failures in MXCC stream ASI accesses 2019-11-28 02:56:17 -05:00
Makefile.objs Move target-* CPU file into a target/ folder 2018-03-01 22:50:58 -05:00
mmu_helper.c target/sparc: Handle bus errors in mmu_probe() 2019-11-28 02:56:32 -05:00
TODO Move target-* CPU file into a target/ folder 2018-03-01 22:50:58 -05:00
translate.c target/sparc: check CF_PARALLEL instead of parallel_cpus 2019-05-06 00:43:21 -04:00
unicorn.c Use DEFINE_MACHINE() to register all machines 2018-03-11 15:12:46 -04:00
unicorn.h Move target-* CPU file into a target/ folder 2018-03-01 22:50:58 -05:00
unicorn64.c Revert use of DEFINE_MACHINE() for registrations of multiple machines 2018-03-11 15:17:17 -04:00
vis_helper.c Move target-* CPU file into a target/ folder 2018-03-01 22:50:58 -05:00
win_helper.c target/sparc/win_helper: Perform comparison pass against qemu 2018-03-12 12:46:59 -04:00