powerpc/mm: Fix 40x and 8xx vs. _PAGE_SPECIAL
The test to check whether we have _PAGE_SPECIAL defined is broken, since we always define it, just not always to a meaninful value :-) That broke 8xx and 40x under some circumstances. This fixes it by adding _PAGE_SPECIAL for both of these since they had a free PTE bit, and removing the condition around advertising it. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
parent
142597dbbd
commit
f32af63ed1
@ -43,6 +43,7 @@
|
||||
#define _PAGE_NO_CACHE 0x004 /* I: caching is inhibited */
|
||||
#define _PAGE_WRITETHRU 0x008 /* W: caching is write-through */
|
||||
#define _PAGE_USER 0x010 /* matches one of the zone permission bits */
|
||||
#define _PAGE_SPECIAL 0x020 /* software: Special page */
|
||||
#define _PAGE_RW 0x040 /* software: Writes permitted */
|
||||
#define _PAGE_DIRTY 0x080 /* software: dirty page */
|
||||
#define _PAGE_HWWRITE 0x100 /* hardware: Dirty & RW, set in exception */
|
||||
|
@ -32,6 +32,7 @@
|
||||
#define _PAGE_FILE 0x0002 /* when !present: nonlinear file mapping */
|
||||
#define _PAGE_NO_CACHE 0x0002 /* I: cache inhibit */
|
||||
#define _PAGE_SHARED 0x0004 /* No ASID (context) compare */
|
||||
#define _PAGE_SPECIAL 0x0008 /* SW entry, forced to 0 by the TLB miss */
|
||||
|
||||
/* These five software bits must be masked out when the entry is loaded
|
||||
* into the TLB.
|
||||
|
@ -25,9 +25,6 @@
|
||||
#ifndef _PAGE_WRITETHRU
|
||||
#define _PAGE_WRITETHRU 0
|
||||
#endif
|
||||
#ifndef _PAGE_SPECIAL
|
||||
#define _PAGE_SPECIAL 0
|
||||
#endif
|
||||
#ifndef _PAGE_4K_PFN
|
||||
#define _PAGE_4K_PFN 0
|
||||
#endif
|
||||
@ -179,7 +176,5 @@ extern unsigned long bad_call_to_PMD_PAGE_SIZE(void);
|
||||
#define HAVE_PAGE_AGP
|
||||
|
||||
/* Advertise support for _PAGE_SPECIAL */
|
||||
#ifdef _PAGE_SPECIAL
|
||||
#define __HAVE_ARCH_PTE_SPECIAL
|
||||
#endif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user