aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-generic
diff options
context:
space:
mode:
authorDave McCracken <dmccr@us.ibm.com>2006-09-26 02:31:48 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-09-26 11:48:51 -0400
commit46a82b2d5591335277ed2930611f6acb4ce654ed (patch)
treee90bc1843701af2012bae92564f7109027a8244f /include/asm-generic
parentd2e7b7d0aa021847c59f882b066e7d3812902870 (diff)
[PATCH] Standardize pxx_page macros
One of the changes necessary for shared page tables is to standardize the pxx_page macros. pte_page and pmd_page have always returned the struct page associated with their entry, while pte_page_kernel and pmd_page_kernel have returned the kernel virtual address. pud_page and pgd_page, on the other hand, return the kernel virtual address. Shared page tables needs pud_page and pgd_page to return the actual page structures. There are very few actual users of these functions, so it is simple to standardize their usage. Since this is basic cleanup, I am submitting these changes as a standalone patch. Per Hugh Dickins' comments about it, I am also changing the pxx_page_kernel macros to pxx_page_vaddr to clarify their meaning. Signed-off-by: Dave McCracken <dmccr@us.ibm.com> Cc: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/asm-generic')
-rw-r--r--include/asm-generic/4level-fixup.h4
-rw-r--r--include/asm-generic/pgtable-nopmd.h2
-rw-r--r--include/asm-generic/pgtable-nopud.h2
3 files changed, 6 insertions, 2 deletions
diff --git a/include/asm-generic/4level-fixup.h b/include/asm-generic/4level-fixup.h
index 68c6fea994d9..7b88d3931e34 100644
--- a/include/asm-generic/4level-fixup.h
+++ b/include/asm-generic/4level-fixup.h
@@ -21,6 +21,10 @@
21#define pud_present(pud) 1 21#define pud_present(pud) 1
22#define pud_ERROR(pud) do { } while (0) 22#define pud_ERROR(pud) do { } while (0)
23#define pud_clear(pud) pgd_clear(pud) 23#define pud_clear(pud) pgd_clear(pud)
24#define pud_val(pud) pgd_val(pud)
25#define pud_populate(mm, pud, pmd) pgd_populate(mm, pud, pmd)
26#define pud_page(pud) pgd_page(pud)
27#define pud_page_vaddr(pud) pgd_page_vaddr(pud)
24 28
25#undef pud_free_tlb 29#undef pud_free_tlb
26#define pud_free_tlb(tlb, x) do { } while (0) 30#define pud_free_tlb(tlb, x) do { } while (0)
diff --git a/include/asm-generic/pgtable-nopmd.h b/include/asm-generic/pgtable-nopmd.h
index c8d53ba20e19..29ff5d84d8c3 100644
--- a/include/asm-generic/pgtable-nopmd.h
+++ b/include/asm-generic/pgtable-nopmd.h
@@ -47,7 +47,7 @@ static inline pmd_t * pmd_offset(pud_t * pud, unsigned long address)
47#define __pmd(x) ((pmd_t) { __pud(x) } ) 47#define __pmd(x) ((pmd_t) { __pud(x) } )
48 48
49#define pud_page(pud) (pmd_page((pmd_t){ pud })) 49#define pud_page(pud) (pmd_page((pmd_t){ pud }))
50#define pud_page_kernel(pud) (pmd_page_kernel((pmd_t){ pud })) 50#define pud_page_vaddr(pud) (pmd_page_vaddr((pmd_t){ pud }))
51 51
52/* 52/*
53 * allocating and freeing a pmd is trivial: the 1-entry pmd is 53 * allocating and freeing a pmd is trivial: the 1-entry pmd is
diff --git a/include/asm-generic/pgtable-nopud.h b/include/asm-generic/pgtable-nopud.h
index 82e29f0ce467..566464500558 100644
--- a/include/asm-generic/pgtable-nopud.h
+++ b/include/asm-generic/pgtable-nopud.h
@@ -44,7 +44,7 @@ static inline pud_t * pud_offset(pgd_t * pgd, unsigned long address)
44#define __pud(x) ((pud_t) { __pgd(x) } ) 44#define __pud(x) ((pud_t) { __pgd(x) } )
45 45
46#define pgd_page(pgd) (pud_page((pud_t){ pgd })) 46#define pgd_page(pgd) (pud_page((pud_t){ pgd }))
47#define pgd_page_kernel(pgd) (pud_page_kernel((pud_t){ pgd })) 47#define pgd_page_vaddr(pgd) (pud_page_vaddr((pud_t){ pgd }))
48 48
49/* 49/*
50 * allocating and freeing a pud is trivial: the 1-entry pud is 50 * allocating and freeing a pud is trivial: the 1-entry pud is