[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 3/7] target/sparc: Check for transaction failure
From: |
Richard Henderson |
Subject: |
Re: [Qemu-devel] [PATCH 3/7] target/sparc: Check for transaction failures in MXCC stream ASI accesses |
Date: |
Thu, 1 Aug 2019 13:23:08 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 |
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 <address@hidden>
> ---
> target/sparc/ldst_helper.c | 57 +++++++++++++++++++++++++-------------
> 1 file changed, 37 insertions(+), 20 deletions(-)
Reviewed-by: Richard Henderson <address@hidden>
r~
- [Qemu-devel] [PATCH 0/7] target/sparc: Convert to do_transaction_failed hook, Peter Maydell, 2019/08/01
- [Qemu-devel] [PATCH 6/7] target/sparc: Remove unused ldl_phys from dump_mmu(), Peter Maydell, 2019/08/01
- [Qemu-devel] [PATCH 5/7] target/sparc: Handle bus errors in mmu_probe(), Peter Maydell, 2019/08/01
- [Qemu-devel] [PATCH 3/7] target/sparc: Check for transaction failures in MXCC stream ASI accesses, Peter Maydell, 2019/08/01
- Re: [Qemu-devel] [PATCH 3/7] target/sparc: Check for transaction failures in MXCC stream ASI accesses,
Richard Henderson <=
- [Qemu-devel] [PATCH 2/7] target/sparc: Check for transaction failures in MMU passthrough ASIs, Peter Maydell, 2019/08/01
- [Qemu-devel] [PATCH 4/7] target/sparc: Correctly handle bus errors in page table walks, Peter Maydell, 2019/08/01
- [Qemu-devel] [PATCH 7/7] target/sparc: Switch to do_transaction_failed() hook, Peter Maydell, 2019/08/01
- [Qemu-devel] [PATCH 1/7] target/sparc: Factor out the body of sparc_cpu_unassigned_access(), Peter Maydell, 2019/08/01