[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 26/26] tcg: Use tlb_fill probe from tlb_vaddr_to
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PATCH 26/26] tcg: Use tlb_fill probe from tlb_vaddr_to_host |
Date: |
Mon, 29 Apr 2019 18:41:49 +0100 |
On Wed, 3 Apr 2019 at 05:05, Richard Henderson
<address@hidden> wrote:
>
> Most of the existing users would continue around a loop which
> would fault the tlb entry in via a normal load/store. But for
> SVE we have a true non-faulting case which requires the new
> probing form of tlb_fill.
So am I right in thinking that this fixes a bug where we
previously would mark a load as faulted if the memory happened
not to be in the TLB, whereas now we will correctly pull in the
TLB entry and do the load ?
(Since guest code ought to be handling the "non-first-load
faulted" case by looping round or otherwise arranging to
retry, nothing in practice would have noticed this bug, right?)
> Signed-off-by: Richard Henderson <address@hidden>
> ---
> include/exec/cpu_ldst.h | 40 ++++--------------------
> accel/tcg/cputlb.c | 69 ++++++++++++++++++++++++++++++++++++-----
> target/arm/sve_helper.c | 6 +---
> 3 files changed, 68 insertions(+), 47 deletions(-)
>
> diff --git a/include/exec/cpu_ldst.h b/include/exec/cpu_ldst.h
> index d78041d7a0..be8c3f4da2 100644
> --- a/include/exec/cpu_ldst.h
> +++ b/include/exec/cpu_ldst.h
> @@ -440,43 +440,15 @@ static inline CPUTLBEntry *tlb_entry(CPUArchState *env,
> uintptr_t mmu_idx,
> * This is the equivalent of the initial fast-path code used by
> * TCG backends for guest load and store accesses.
> */
The doc comment which this is the last two lines of needs
updating, I think -- with the changed implementation it's
no longer just the equivalent of the fast-path bit of code,
and it doesn't return NULL on a TLB miss any more.
Otherwise
Reviewed-by: Peter Maydell <address@hidden>
thanks
-- PMM
- Re: [Qemu-devel] [PATCH 19/26] target/sparc: Convert to CPUClass::tlb_fill, (continued)
- [Qemu-devel] [PATCH 20/26] target/tilegx: Convert to CPUClass::tlb_fill, Richard Henderson, 2019/04/02
- [Qemu-devel] [PATCH 21/26] target/tricore: Convert to CPUClass::tlb_fill, Richard Henderson, 2019/04/02
- [Qemu-devel] [PATCH 22/26] target/unicore32: Convert to CPUClass::tlb_fill, Richard Henderson, 2019/04/02
- [Qemu-devel] [PATCH 23/26] target/xtensa: Convert to CPUClass::tlb_fill, Richard Henderson, 2019/04/02
- [Qemu-devel] [PATCH 24/26] tcg: Use CPUClass::tlb_fill in cputlb.c, Richard Henderson, 2019/04/02
- [Qemu-devel] [PATCH 25/26] tcg: Remove CPUClass::handle_mmu_fault, Richard Henderson, 2019/04/02
- [Qemu-devel] [PATCH 26/26] tcg: Use tlb_fill probe from tlb_vaddr_to_host, Richard Henderson, 2019/04/02
- Re: [Qemu-devel] [PATCH 26/26] tcg: Use tlb_fill probe from tlb_vaddr_to_host,
Peter Maydell <=