aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-01-30 13:33:59 +0100
committerIngo Molnar <mingo@elte.hu>2008-01-30 13:33:59 +0100
commitbbb09f5cfcde7e4cf1466111d671ac4a62931148 (patch)
tree07b98129a9992559ee4c691b10695411e5747913
parentx86: cpa self-test, WARN_ON() (diff)
downloadlinux-dev-bbb09f5cfcde7e4cf1466111d671ac4a62931148.tar.xz
linux-dev-bbb09f5cfcde7e4cf1466111d671ac4a62931148.zip
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 <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r--arch/x86/mm/pageattr-test.c4
-rw-r--r--arch/x86/mm/pageattr_32.c6
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);