target/sparc: Handle bus errors in mmu_probe()
commitd86a9ad33c75ed795f09fb43243d0acecd583f24
authorPeter Maydell <peter.maydell@linaro.org>
Thu, 1 Aug 2019 18:30:10 +0000 (1 19:30 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 17 Sep 2019 11:01:00 +0000 (17 12:01 +0100)
tree533ad9f4a655a0e5315d6d50be4b3d7b9afb9f95
parent3c818dfcc271f5ba298b06f33466ab30f9a28349
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.

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-6-peter.maydell@linaro.org
target/sparc/mmu_helper.c