|
@@ -120,13 +120,13 @@ static inline void pud_clear(pud_t *pudp)
|
|
write_cr3(pgd);
|
|
write_cr3(pgd);
|
|
}
|
|
}
|
|
|
|
|
|
-#define pud_page(pud) ((struct page *) __va(pud_val(pud) & PTE_PFN_MASK))
|
|
|
|
|
|
+#define pud_page(pud) pfn_to_page(pud_val(pud) >> PAGE_SHIFT)
|
|
|
|
|
|
#define pud_page_vaddr(pud) ((unsigned long) __va(pud_val(pud) & PTE_PFN_MASK))
|
|
#define pud_page_vaddr(pud) ((unsigned long) __va(pud_val(pud) & PTE_PFN_MASK))
|
|
|
|
|
|
|
|
|
|
/* Find an entry in the second-level page table.. */
|
|
/* Find an entry in the second-level page table.. */
|
|
-#define pmd_offset(pud, address) ((pmd_t *)pud_page(*(pud)) + \
|
|
|
|
|
|
+#define pmd_offset(pud, address) ((pmd_t *)pud_page_vaddr(*(pud)) + \
|
|
pmd_index(address))
|
|
pmd_index(address))
|
|
|
|
|
|
#ifdef CONFIG_SMP
|
|
#ifdef CONFIG_SMP
|