x86: prepare for the unification of the cpa code

2008-01-30 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a5f55035f63cf040b4a7161226ec35520cc10daa
Commit: a5f55035f63cf040b4a7161226ec35520cc10daa
Parent: bbb09f5cfcde7e4cf1466111d671ac4a62931148
Author: Ingo Molnar [EMAIL PROTECTED]
AuthorDate: Wed Jan 30 13:33:59 2008 +0100
Committer:  Ingo Molnar [EMAIL PROTECTED]
CommitDate: Wed Jan 30 13:33:59 2008 +0100

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 [EMAIL PROTECTED]
Signed-off-by: Thomas Gleixner [EMAIL PROTECTED]
---
 arch/x86/mm/pageattr_64.c |   11 +++
 1 files changed, 3 insertions(+), 8 deletions(-)

diff --git a/arch/x86/mm/pageattr_64.c b/arch/x86/mm/pageattr_64.c
index 73dbbb4..7b734ee 100644
--- a/arch/x86/mm/pageattr_64.c
+++ b/arch/x86/mm/pageattr_64.c
@@ -19,26 +19,21 @@ pte_t *lookup_address(unsigned long address, int *level)
pgd_t *pgd = pgd_offset_k(address);
pud_t *pud;
pmd_t *pmd;
-   pte_t *pte;
 
if (pgd_none(*pgd))
return NULL;
pud = pud_offset(pgd, address);
-   if (!pud_present(*pud))
+   if (pud_none(*pud))
return NULL;
pmd = pmd_offset(pud, address);
-   if (!pmd_present(*pmd))
+   if (pmd_none(*pmd))
return NULL;
*level = 3;
if (pmd_large(*pmd))
return (pte_t *)pmd;
*level = 4;
 
-   pte = pte_offset_kernel(pmd, address);
-   if (pte  !pte_present(*pte))
-   pte = NULL;
-
-   return pte;
+   return pte_offset_kernel(pmd, address);
 }
 
 static struct page *
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


x86: prepare for the unification of the cpa code

2008-01-30 Thread Linux Kernel Mailing List
Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bbb09f5cfcde7e4cf1466111d671ac4a62931148
Commit: bbb09f5cfcde7e4cf1466111d671ac4a62931148
Parent: 55ce29ba16f82a31424a98988cf37c3babe1b7c8
Author: Ingo Molnar [EMAIL PROTECTED]
AuthorDate: Wed Jan 30 13:33:59 2008 +0100
Committer:  Ingo Molnar [EMAIL PROTECTED]
CommitDate: Wed Jan 30 13:33:59 2008 +0100

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 [EMAIL PROTECTED]
Signed-off-by: Thomas Gleixner [EMAIL PROTECTED]
---
 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 0dce0e2..6cc106b 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 = (130)
diff --git a/arch/x86/mm/pageattr_32.c b/arch/x86/mm/pageattr_32.c
index dd49b16..1c7bd81 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);
-
To unsubscribe from this list: send the line unsubscribe git-commits-head in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html