On 8/1/19 11:30 AM, Peter Maydell wrote:
> 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 MXCC stream source
> and destination accesses.
> 
> It's not clear to me whether raising an MMU fault like this
> is the correct behaviour if we encounter a bus error, but
> we retain the same behaviour that the old unassigned_access
> hook would implement.
> 
> Signed-off-by: Peter Maydell <peter.mayd...@linaro.org>
> ---
>  target/sparc/ldst_helper.c | 57 +++++++++++++++++++++++++-------------
>  1 file changed, 37 insertions(+), 20 deletions(-)

Reviewed-by: Richard Henderson <richard.hender...@linaro.org>


r~


Reply via email to