parisc: use pgtable-nopXd instead of 4level-fixup
[linux-2.6-microblaze.git] / arch / parisc / kernel / cache.c
index 2407b0b..1eedfec 100644 (file)
@@ -534,11 +534,14 @@ static inline pte_t *get_ptep(pgd_t *pgd, unsigned long addr)
        pte_t *ptep = NULL;
 
        if (!pgd_none(*pgd)) {
-               pud_t *pud = pud_offset(pgd, addr);
-               if (!pud_none(*pud)) {
-                       pmd_t *pmd = pmd_offset(pud, addr);
-                       if (!pmd_none(*pmd))
-                               ptep = pte_offset_map(pmd, addr);
+               p4d_t *p4d = p4d_offset(pgd, addr);
+               if (!p4d_none(*p4d)) {
+                       pud_t *pud = pud_offset(p4d, addr);
+                       if (!pud_none(*pud)) {
+                               pmd_t *pmd = pmd_offset(pud, addr);
+                               if (!pmd_none(*pmd))
+                                       ptep = pte_offset_map(pmd, addr);
+                       }
                }
        }
        return ptep;