On Fri, 2007-08-03 at 18:58 +1000, Paul Mackerras wrote:
> The code for mapping special 4k pages on kernels using a 64kB base
> page size was missing the code for doing the RPN (real page number)
> manipulation when inserting the hardware PTE in the secondary hash
> bucket.  It needs the same code as has already been added to the
> code that inserts the HPTE in the primary hash bucket.  This adds it.
> 
> Spotted by Ben Herrenschmidt.
> 
> Signed-off-by: Paul Mackerras <[EMAIL PROTECTED]>

Acked-by: Benjamin Herrenschmidt <[EMAIL PROTECTED]>

> ---
> diff --git a/arch/powerpc/mm/hash_low_64.S b/arch/powerpc/mm/hash_low_64.S
> index 4762ff7..35eabfb 100644
> --- a/arch/powerpc/mm/hash_low_64.S
> +++ b/arch/powerpc/mm/hash_low_64.S
> @@ -472,10 +472,12 @@ _GLOBAL(htab_call_hpte_insert1)
>       /* Now try secondary slot */
>  
>       /* real page number in r5, PTE RPN value + index */
> -     rldicl  r5,r31,64-PTE_RPN_SHIFT,PTE_RPN_SHIFT
> +     andis.  r0,r31,[EMAIL PROTECTED]
> +     srdi    r5,r31,PTE_RPN_SHIFT
> +     bne-    3f
>       sldi    r5,r5,PAGE_SHIFT-HW_PAGE_SHIFT
>       add     r5,r5,r25
> -     sldi    r5,r5,HW_PAGE_SHIFT
> +3:   sldi    r5,r5,HW_PAGE_SHIFT
>  
>       /* Calculate secondary group hash */
>       andc    r0,r27,r28
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to