aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-x86/pgtable_64.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2008-03-03 13:02:44 -0500
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2008-03-03 13:02:44 -0500
commita345b4ba2086bacc63884e5d72268415a97bcbff (patch)
tree98ef2d58b2e28788ef05bd3feec24317c34a09d3 /include/asm-x86/pgtable_64.h
parent038f2f725503b55ab76cfd2645915a85594710fe (diff)
Revert "x86: fix pmd_bad and pud_bad to support huge pages"
This reverts commit cded932b75ab0a5f9181ee3da34a0a488d1a14fd. Arjan bisected down a boot-time hang to this, saying: ".. it prevents the kernel to finish booting on my (Penryn based) laptop. The boot stops right after freeing the init memory." and while it's not clear exactly what triggers it, at this stage we're better off just reverting it while Ingo tries to figure out what went wrong. Requested-by: Arjan van de Ven <arjan@linux.intel.com> Cc: Hans Rosenfeld <hans.rosenfeld@amd.com> Cc: Nish Aravamudan <nish.aravamudan@gmail.com> Acked-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/asm-x86/pgtable_64.h')
-rw-r--r--include/asm-x86/pgtable_64.h6
1 files changed, 2 insertions, 4 deletions
diff --git a/include/asm-x86/pgtable_64.h b/include/asm-x86/pgtable_64.h
index 0a9258333cbd..0a0b77bc736a 100644
--- a/include/asm-x86/pgtable_64.h
+++ b/include/asm-x86/pgtable_64.h
@@ -153,14 +153,12 @@ static inline unsigned long pgd_bad(pgd_t pgd)
153 153
154static inline unsigned long pud_bad(pud_t pud) 154static inline unsigned long pud_bad(pud_t pud)
155{ 155{
156 return pud_val(pud) & 156 return pud_val(pud) & ~(PTE_MASK | _KERNPG_TABLE | _PAGE_USER);
157 ~(PTE_MASK | _KERNPG_TABLE | _PAGE_USER | _PAGE_PSE | _PAGE_NX);
158} 157}
159 158
160static inline unsigned long pmd_bad(pmd_t pmd) 159static inline unsigned long pmd_bad(pmd_t pmd)
161{ 160{
162 return pmd_val(pmd) & 161 return pmd_val(pmd) & ~(PTE_MASK | _KERNPG_TABLE | _PAGE_USER);
163 ~(PTE_MASK | _KERNPG_TABLE | _PAGE_USER | _PAGE_PSE | _PAGE_NX);
164} 162}
165 163
166#define pte_none(x) (!pte_val(x)) 164#define pte_none(x) (!pte_val(x))