[PATCH] i386: little pgtable.h consolidation vs 2/3level
Join together some common functions (pmd_page{,_kernel}) over 2level and 3level pages. Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> Acked-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
d16aafff25
commit
ca140fdadb
|
@ -26,11 +26,6 @@
|
|||
#define pfn_pte(pfn, prot) __pte(((pfn) << PAGE_SHIFT) | pgprot_val(prot))
|
||||
#define pfn_pmd(pfn, prot) __pmd(((pfn) << PAGE_SHIFT) | pgprot_val(prot))
|
||||
|
||||
#define pmd_page(pmd) (pfn_to_page(pmd_val(pmd) >> PAGE_SHIFT))
|
||||
|
||||
#define pmd_page_kernel(pmd) \
|
||||
((unsigned long) __va(pmd_val(pmd) & PAGE_MASK))
|
||||
|
||||
/*
|
||||
* All present user pages are user-executable:
|
||||
*/
|
||||
|
|
|
@ -74,11 +74,6 @@ static inline void set_pte(pte_t *ptep, pte_t pte)
|
|||
*/
|
||||
static inline void pud_clear (pud_t * pud) { }
|
||||
|
||||
#define pmd_page(pmd) (pfn_to_page(pmd_val(pmd) >> PAGE_SHIFT))
|
||||
|
||||
#define pmd_page_kernel(pmd) \
|
||||
((unsigned long) __va(pmd_val(pmd) & PAGE_MASK))
|
||||
|
||||
#define pud_page(pud) \
|
||||
((struct page *) __va(pud_val(pud) & PAGE_MASK))
|
||||
|
||||
|
|
|
@ -369,6 +369,11 @@ static inline pte_t pte_modify(pte_t pte, pgprot_t newprot)
|
|||
#define pte_offset_kernel(dir, address) \
|
||||
((pte_t *) pmd_page_kernel(*(dir)) + pte_index(address))
|
||||
|
||||
#define pmd_page(pmd) (pfn_to_page(pmd_val(pmd) >> PAGE_SHIFT))
|
||||
|
||||
#define pmd_page_kernel(pmd) \
|
||||
((unsigned long) __va(pmd_val(pmd) & PAGE_MASK))
|
||||
|
||||
/*
|
||||
* Helper function that returns the kernel pagetable entry controlling
|
||||
* the virtual address 'address'. NULL means no pagetable entry present.
|
||||
|
|
Loading…
Reference in New Issue