.. | .. |
---|
845 | 845 | return ((unsigned long) __va(pfn << PAGE_SHIFT)); |
---|
846 | 846 | } |
---|
847 | 847 | |
---|
848 | | -static inline unsigned long pud_page_vaddr(pud_t pud) |
---|
| 848 | +static inline pmd_t *pud_pgtable(pud_t pud) |
---|
849 | 849 | { |
---|
850 | 850 | pte_t pte = __pte(pud_val(pud)); |
---|
851 | 851 | unsigned long pfn; |
---|
852 | 852 | |
---|
853 | 853 | pfn = pte_pfn(pte); |
---|
854 | 854 | |
---|
855 | | - return ((unsigned long) __va(pfn << PAGE_SHIFT)); |
---|
| 855 | + return ((pmd_t *) __va(pfn << PAGE_SHIFT)); |
---|
856 | 856 | } |
---|
857 | 857 | |
---|
858 | 858 | #define pmd_page(pmd) virt_to_page((void *)pmd_page_vaddr(pmd)) |
---|
859 | | -#define pud_page(pud) virt_to_page((void *)pud_page_vaddr(pud)) |
---|
| 859 | +#define pud_page(pud) virt_to_page((void *)pud_pgtable(pud)) |
---|
860 | 860 | #define pmd_clear(pmdp) (pmd_val(*(pmdp)) = 0UL) |
---|
861 | 861 | #define pud_present(pud) (pud_val(pud) != 0U) |
---|
862 | 862 | #define pud_clear(pudp) (pud_val(*(pudp)) = 0UL) |
---|
863 | | -#define p4d_page_vaddr(p4d) \ |
---|
864 | | - ((unsigned long) __va(p4d_val(p4d))) |
---|
| 863 | +#define p4d_pgtable(p4d) \ |
---|
| 864 | + ((pud_t *) __va(p4d_val(p4d))) |
---|
865 | 865 | #define p4d_present(p4d) (p4d_val(p4d) != 0U) |
---|
866 | 866 | #define p4d_clear(p4dp) (p4d_val(*(p4dp)) = 0UL) |
---|
867 | 867 | |
---|