aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86
diff options
context:
space:
mode:
authorJeremy Fitzhardinge <jeremy@goop.org>2009-02-05 14:30:59 -0500
committerJeremy Fitzhardinge <jeremy@goop.org>2009-02-06 15:31:49 -0500
commit3ffb3564cd3cd59de8a0d74430ffe2d43ae11f19 (patch)
treef1e78915f4cd2a874f6111c8d810003ef6c3f860 /arch/x86
parent3d081b1812bd4de2bbef58c6d598ddf45493010e (diff)
x86: unify pmd_page_vaddr
Impact: cleanup Unify and demacro pmd_page_vaddr. Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Diffstat (limited to 'arch/x86')
-rw-r--r--arch/x86/include/asm/pgtable.h5
-rw-r--r--arch/x86/include/asm/pgtable_32.h3
-rw-r--r--arch/x86/include/asm/pgtable_64.h1
3 files changed, 5 insertions, 4 deletions
diff --git a/arch/x86/include/asm/pgtable.h b/arch/x86/include/asm/pgtable.h
index decccb0a6410..3789c05bf30a 100644
--- a/arch/x86/include/asm/pgtable.h
+++ b/arch/x86/include/asm/pgtable.h
@@ -468,6 +468,11 @@ static inline int pmd_none(pmd_t pmd)
468 return !(unsigned long)native_pmd_val(pmd); 468 return !(unsigned long)native_pmd_val(pmd);
469} 469}
470 470
471static inline unsigned long pmd_page_vaddr(pmd_t pmd)
472{
473 return (unsigned long)__va(pmd_val(pmd) & PTE_PFN_MASK);
474}
475
471#if PAGETABLE_LEVELS > 2 476#if PAGETABLE_LEVELS > 2
472static inline int pud_present(pud_t pud) 477static inline int pud_present(pud_t pud)
473{ 478{
diff --git a/arch/x86/include/asm/pgtable_32.h b/arch/x86/include/asm/pgtable_32.h
index 26e73569223c..f7f7e297a0a0 100644
--- a/arch/x86/include/asm/pgtable_32.h
+++ b/arch/x86/include/asm/pgtable_32.h
@@ -126,9 +126,6 @@ static inline int pud_large(pud_t pud) { return 0; }
126 126
127#define pmd_page(pmd) (pfn_to_page(pmd_val((pmd)) >> PAGE_SHIFT)) 127#define pmd_page(pmd) (pfn_to_page(pmd_val((pmd)) >> PAGE_SHIFT))
128 128
129#define pmd_page_vaddr(pmd) \
130 ((unsigned long)__va(pmd_val((pmd)) & PTE_PFN_MASK))
131
132#if defined(CONFIG_HIGHPTE) 129#if defined(CONFIG_HIGHPTE)
133#define pte_offset_map(dir, address) \ 130#define pte_offset_map(dir, address) \
134 ((pte_t *)kmap_atomic_pte(pmd_page(*(dir)), KM_PTE0) + \ 131 ((pte_t *)kmap_atomic_pte(pmd_page(*(dir)), KM_PTE0) + \
diff --git a/arch/x86/include/asm/pgtable_64.h b/arch/x86/include/asm/pgtable_64.h
index 958dc1e7335e..7a510e8a8787 100644
--- a/arch/x86/include/asm/pgtable_64.h
+++ b/arch/x86/include/asm/pgtable_64.h
@@ -191,7 +191,6 @@ static inline int pud_large(pud_t pte)
191} 191}
192 192
193/* PMD - Level 2 access */ 193/* PMD - Level 2 access */
194#define pmd_page_vaddr(pmd) ((unsigned long) __va(pmd_val((pmd)) & PTE_PFN_MASK))
195#define pmd_page(pmd) (pfn_to_page(pmd_val((pmd)) >> PAGE_SHIFT)) 194#define pmd_page(pmd) (pfn_to_page(pmd_val((pmd)) >> PAGE_SHIFT))
196 195
197#define pmd_index(address) (((address) >> PMD_SHIFT) & (PTRS_PER_PMD - 1)) 196#define pmd_index(address) (((address) >> PMD_SHIFT) & (PTRS_PER_PMD - 1))