[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] ppcmas_tlb_check: Fix effective address compari
From: |
Alexander Graf |
Subject: |
Re: [Qemu-devel] [PATCH] ppcmas_tlb_check: Fix effective address comparison |
Date: |
Mon, 7 May 2012 18:43:17 +0200 |
On 07.05.2012, at 18:41, Fabien Chouteau wrote:
> Use size mask in both operands of effective address comparison.
> This is the expected as the size of EPN field in MAS2 depends on page
> size.
>
> Definition of EPN field from e500v2 RM:
> EPN Effective page number: Depending on page size, only the bits
> associated with a page boundary are valid. Bits that represent offsets
> within a page are ignored and should be cleared.
>
> There is a similar (but more complicated) definition in PowerISA V2.06.
Would it make sense to do this at tlbwe time? That path is a bit less hot that
the tlb check :).
Alex
>
> Signed-off-by: Fabien Chouteau <address@hidden>
> ---
> target-ppc/helper.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/target-ppc/helper.c b/target-ppc/helper.c
> index e97e496..adb96a0 100644
> --- a/target-ppc/helper.c
> +++ b/target-ppc/helper.c
> @@ -1320,7 +1320,7 @@ int ppcmas_tlb_check(CPUPPCState *env, ppcmas_tlb_t
> *tlb,
> }
>
> /* Check effective address */
> - if ((address & mask) != (tlb->mas2 & MAS2_EPN_MASK)) {
> + if ((address & mask) != (tlb->mas2 & MAS2_EPN_MASK & mask)) {
> return -1;
> }
>
> --
> 1.7.9.5
>