diff options
author | Jan Beulich <jbeulich@novell.com> | 2008-10-30 13:37:21 +0300 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-10-30 13:47:50 +0300 |
commit | ab00fee30cddf975200b3c97aef25bea144a0d89 (patch) | |
tree | 412d7b2522fb1a4bf6fbc35d2ff118528b45313a /arch/x86/include/asm/pgtable-3level.h | |
parent | fe8b868eccb9f85a0e231e35f0abac5b39bac801 (diff) | |
download | linux-ab00fee30cddf975200b3c97aef25bea144a0d89.tar.xz |
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>
Diffstat (limited to 'arch/x86/include/asm/pgtable-3level.h')
-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 |