diff options
author | Jeremy Fitzhardinge <jeremy@goop.org> | 2009-02-05 14:30:55 -0500 |
---|---|---|
committer | Jeremy Fitzhardinge <jeremy@goop.org> | 2009-02-06 15:31:48 -0500 |
commit | f476961cb16312fe4cb80b2b457ef9acf220a7fc (patch) | |
tree | e4280ddbb808145198b7a2754a447bd70a91fead /arch/x86/include | |
parent | aca159dbb13a5221819d5b3849b8c013f4829e9e (diff) |
x86: unify pud_page
Impact: cleanup
Unify and demacro pud_page.
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Diffstat (limited to 'arch/x86/include')
-rw-r--r-- | arch/x86/include/asm/pgtable-3level.h | 2 | ||||
-rw-r--r-- | arch/x86/include/asm/pgtable.h | 6 | ||||
-rw-r--r-- | arch/x86/include/asm/pgtable_64.h | 1 |
3 files changed, 6 insertions, 3 deletions
diff --git a/arch/x86/include/asm/pgtable-3level.h b/arch/x86/include/asm/pgtable-3level.h index 542616ac192a..28ba09ac2308 100644 --- a/arch/x86/include/asm/pgtable-3level.h +++ b/arch/x86/include/asm/pgtable-3level.h | |||
@@ -115,8 +115,6 @@ static inline void pud_clear(pud_t *pudp) | |||
115 | write_cr3(pgd); | 115 | write_cr3(pgd); |
116 | } | 116 | } |
117 | 117 | ||
118 | #define pud_page(pud) pfn_to_page(pud_val(pud) >> PAGE_SHIFT) | ||
119 | |||
120 | /* Find an entry in the second-level page table.. */ | 118 | /* Find an entry in the second-level page table.. */ |
121 | #define pmd_offset(pud, address) ((pmd_t *)pud_page_vaddr(*(pud)) + \ | 119 | #define pmd_offset(pud, address) ((pmd_t *)pud_page_vaddr(*(pud)) + \ |
122 | pmd_index(address)) | 120 | pmd_index(address)) |
diff --git a/arch/x86/include/asm/pgtable.h b/arch/x86/include/asm/pgtable.h index bd38feb34921..a871ae55a5c5 100644 --- a/arch/x86/include/asm/pgtable.h +++ b/arch/x86/include/asm/pgtable.h | |||
@@ -438,6 +438,7 @@ static inline void __init paravirt_pagetable_setup_done(pgd_t *base) | |||
438 | #endif | 438 | #endif |
439 | 439 | ||
440 | #ifndef __ASSEMBLY__ | 440 | #ifndef __ASSEMBLY__ |
441 | #include <linux/mm_types.h> | ||
441 | 442 | ||
442 | static inline int pte_none(pte_t pte) | 443 | static inline int pte_none(pte_t pte) |
443 | { | 444 | { |
@@ -477,6 +478,11 @@ static inline unsigned long pud_page_vaddr(pud_t pud) | |||
477 | { | 478 | { |
478 | return (unsigned long)__va((unsigned long)pud_val(pud) & PTE_PFN_MASK); | 479 | return (unsigned long)__va((unsigned long)pud_val(pud) & PTE_PFN_MASK); |
479 | } | 480 | } |
481 | |||
482 | static inline struct page *pud_page(pud_t pud) | ||
483 | { | ||
484 | return pfn_to_page(pud_val(pud) >> PAGE_SHIFT); | ||
485 | } | ||
480 | #endif /* PAGETABLE_LEVELS > 2 */ | 486 | #endif /* PAGETABLE_LEVELS > 2 */ |
481 | 487 | ||
482 | #if PAGETABLE_LEVELS > 3 | 488 | #if PAGETABLE_LEVELS > 3 |
diff --git a/arch/x86/include/asm/pgtable_64.h b/arch/x86/include/asm/pgtable_64.h index 9875e40c058d..7edacc7ec89f 100644 --- a/arch/x86/include/asm/pgtable_64.h +++ b/arch/x86/include/asm/pgtable_64.h | |||
@@ -185,7 +185,6 @@ static inline int pgd_large(pgd_t pgd) { return 0; } | |||
185 | 185 | ||
186 | /* PUD - Level3 access */ | 186 | /* PUD - Level3 access */ |
187 | /* to find an entry in a page-table-directory. */ | 187 | /* to find an entry in a page-table-directory. */ |
188 | #define pud_page(pud) (pfn_to_page(pud_val((pud)) >> PAGE_SHIFT)) | ||
189 | #define pud_index(address) (((address) >> PUD_SHIFT) & (PTRS_PER_PUD - 1)) | 188 | #define pud_index(address) (((address) >> PUD_SHIFT) & (PTRS_PER_PUD - 1)) |
190 | #define pud_offset(pgd, address) \ | 189 | #define pud_offset(pgd, address) \ |
191 | ((pud_t *)pgd_page_vaddr(*(pgd)) + pud_index((address))) | 190 | ((pud_t *)pgd_page_vaddr(*(pgd)) + pud_index((address))) |