From bbb09f5cfcde7e4cf1466111d671ac4a62931148 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Wed, 30 Jan 2008 13:33:59 +0100 Subject: [PATCH] x86: prepare for the unification of the cpa code prepare for the unification of the cpa code, by unifying the lookup_address() logic between 32-bit and 64-bit. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner --- arch/x86/mm/pageattr-test.c | 4 ++-- arch/x86/mm/pageattr_32.c | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/arch/x86/mm/pageattr-test.c b/arch/x86/mm/pageattr-test.c index 0dce0e248a42..6cc106b388a5 100644 --- a/arch/x86/mm/pageattr-test.c +++ b/arch/x86/mm/pageattr-test.c @@ -20,10 +20,10 @@ enum { LOWEST_LEVEL = 4, LPS = (1 << PMD_SHIFT), #elif defined(CONFIG_X86_PAE) - LOWEST_LEVEL = 3, + LOWEST_LEVEL = 4, LPS = (1 << PMD_SHIFT), #else - LOWEST_LEVEL = 3, /* lookup_address lies here */ + LOWEST_LEVEL = 4, /* lookup_address lies here */ LPS = (1 << 22), #endif GPS = (1<<30) diff --git a/arch/x86/mm/pageattr_32.c b/arch/x86/mm/pageattr_32.c index dd49b16b3a0e..1c7bd81a4194 100644 --- a/arch/x86/mm/pageattr_32.c +++ b/arch/x86/mm/pageattr_32.c @@ -29,10 +29,10 @@ pte_t *lookup_address(unsigned long address, int *level) pmd = pmd_offset(pud, address); if (pmd_none(*pmd)) return NULL; - *level = 2; + *level = 3; if (pmd_large(*pmd)) return (pte_t *)pmd; - *level = 3; + *level = 4; return pte_offset_kernel(pmd, address); } @@ -136,7 +136,7 @@ repeat: address < (unsigned long)&_etext && (pgprot_val(prot) & _PAGE_NX)); - if (level == 3) { + if (level == 4) { set_pte_atomic(kpte, mk_pte(page, canon_pgprot(prot))); } else { err = split_large_page(kpte, address); -- 2.39.5