ia64: add support for folded p4d page tables
[linux-2.6-block.git] / arch / ia64 / mm / fault.c
index 30d0c1fca99ed7fba95b3e0b090db959eb21cba4..12242aa0dad1ab0bd40d08eec2c50ebd7edb9f82 100644 (file)
@@ -29,6 +29,7 @@ static int
 mapped_kernel_page_is_present (unsigned long address)
 {
        pgd_t *pgd;
+       p4d_t *p4d;
        pud_t *pud;
        pmd_t *pmd;
        pte_t *ptep, pte;
@@ -37,7 +38,11 @@ mapped_kernel_page_is_present (unsigned long address)
        if (pgd_none(*pgd) || pgd_bad(*pgd))
                return 0;
 
-       pud = pud_offset(pgd, address);
+       p4d = p4d_offset(pgd, address);
+       if (p4d_none(*p4d) || p4d_bad(*p4d))
+               return 0;
+
+       pud = pud_offset(p4d, address);
        if (pud_none(*pud) || pud_bad(*pud))
                return 0;