[PATCH] Re: [405EX] Bad page map in process ...

Benjamin Herrenschmidt benh at kernel.crashing.org
Tue Sep 22 20:07:15 EST 2009


On Tue, 2009-09-22 at 11:29 +0200, Weirich, Bernhard wrote:
> Hello,
> 
> I found the cause of the problem.
> My architecture does not define the _PAGE_SPECIAL macro, thus in pte-common.h line 32, it is defined as 0
> And then in line 180, since _PAGE_SPECIAL is defined, the macro __HAVE_ARCH_PTE_SPECIAL is erroneously defined.
> This makes any ppc architecture to act as if it has a pte special bit!
> I suggest the following simple patch to fix this.

Thank ! That looks indeed like a bug.

Note that with 2.6.32, we should be able to use 0x20 as _PAGE_SPECIAL on
40x which would improve performances in some areas.

Cheers,
Ben.

> Bernhard WEIRICH
> Software Development
> 
> 
> Signed-off-by: Bernhard Weirich <bernhard.weirich at riedel.net>
> --- linux/arch/powerpc/include/asm/pte-common.h	2009-09-16 11:23:44.000000000 +0200
> +++ linux/arch/powerpc/include/asm/pte-common.h	2009-09-22 11:13:08.000000000 +0200
> @@ -176,7 +176,7 @@
>  #define HAVE_PAGE_AGP
>  
>  /* Advertise support for _PAGE_SPECIAL */
> -#ifdef _PAGE_SPECIAL
> +#if _PAGE_SPECIAL != 0
>  #define __HAVE_ARCH_PTE_SPECIAL
>  #endif
>  
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev at lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/linuxppc-dev



More information about the Linuxppc-dev mailing list