target/sparc: Check for transaction failures in MMU passthrough ASIs
commitb9f5fdad49c74583dcf9fcba0805b148e3992e13
authorPeter Maydell <peter.maydell@linaro.org>
Thu, 1 Aug 2019 18:30:07 +0000 (1 19:30 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 17 Sep 2019 11:01:00 +0000 (17 12:01 +0100)
tree566a3127014f0c1f7fc3a1c0ce97132c76412c15
parentc9d793f44620a4793239da73f67758ce5f5ba5d0
target/sparc: Check for transaction failures in MMU passthrough ASIs

Currently the ld/st_asi helper functions make calls to the
ld*_phys() and st*_phys() functions for those ASIs which
imply direct accesses to physical addresses. These implicitly
rely on the unassigned_access hook to cause them to generate
an MMU fault if the access fails.

Switch to using the address_space_* functions instead, which
return a MemTxResult that we can check. This means that when
we switch SPARC over to using the do_transaction_failed hook
we'll still get the same MMU faults we did before.

This commit converts the ASIs which do "MMU passthrough".

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