From: Ingo Molnar Date: Wed, 30 Jan 2008 12:33:59 +0000 (+0100) Subject: x86: prepare for the unification of the cpa code X-Git-Tag: v2.6.25-rc1~1143^2~98 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=bbb09f5cfcde7e4cf1466111d671ac4a62931148;p=linux-2.6-omap-h63xx.git 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 --- diff --git a/arch/x86/mm/pageattr-test.c b/arch/x86/mm/pageattr-test.c index 0dce0e248a4..6cc106b388a 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 dd49b16b3a0..1c7bd81a419 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);