qemu-devel
[Top][All Lists]
Advanced

[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
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]