diff options
author | Jan Beulich <jbeulich@novell.com> | 2008-10-30 10:37:21 +0000 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-10-30 11:47:50 +0100 |
commit | ab00fee30cddf975200b3c97aef25bea144a0d89 (patch) | |
tree | 412d7b2522fb1a4bf6fbc35d2ff118528b45313a | |
parent | fe8b868eccb9f85a0e231e35f0abac5b39bac801 (diff) | |
download | blackbird-op-linux-ab00fee30cddf975200b3c97aef25bea144a0d89.tar.gz blackbird-op-linux-ab00fee30cddf975200b3c97aef25bea144a0d89.zip |
i386/PAE: fix pud_page()
Impact: cleanup
To the unsuspecting user it is quite annoying that this broken and
inconsistent with x86-64 definition still exists.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r-- | arch/x86/include/asm/pgtable-3level.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86/include/asm/pgtable-3level.h b/arch/x86/include/asm/pgtable-3level.h index fb16cec702e4..52597aeadfff 100644 --- a/arch/x86/include/asm/pgtable-3level.h +++ b/arch/x86/include/asm/pgtable-3level.h @@ -120,13 +120,13 @@ static inline void pud_clear(pud_t *pudp) write_cr3(pgd); } -#define pud_page(pud) ((struct page *) __va(pud_val(pud) & PTE_PFN_MASK)) +#define pud_page(pud) pfn_to_page(pud_val(pud) >> PAGE_SHIFT) #define pud_page_vaddr(pud) ((unsigned long) __va(pud_val(pud) & PTE_PFN_MASK)) /* Find an entry in the second-level page table.. */ -#define pmd_offset(pud, address) ((pmd_t *)pud_page(*(pud)) + \ +#define pmd_offset(pud, address) ((pmd_t *)pud_page_vaddr(*(pud)) + \ pmd_index(address)) #ifdef CONFIG_SMP |