.. | .. |
---|
100 | 100 | struct mm_struct *mm; |
---|
101 | 101 | int asid; |
---|
102 | 102 | pgd_t *pgd; |
---|
| 103 | + p4d_t *p4d; |
---|
| 104 | + pud_t *pud; |
---|
103 | 105 | pmd_t *pmd; |
---|
104 | 106 | pte_t *pte; |
---|
105 | 107 | unsigned long mmuar; |
---|
.. | .. |
---|
127 | 129 | if (pgd_none(*pgd)) |
---|
128 | 130 | goto bug; |
---|
129 | 131 | |
---|
130 | | - pmd = pmd_offset(pgd, mmuar); |
---|
| 132 | + p4d = p4d_offset(pgd, mmuar); |
---|
| 133 | + if (p4d_none(*p4d)) |
---|
| 134 | + goto bug; |
---|
| 135 | + |
---|
| 136 | + pud = pud_offset(p4d, mmuar); |
---|
| 137 | + if (pud_none(*pud)) |
---|
| 138 | + goto bug; |
---|
| 139 | + |
---|
| 140 | + pmd = pmd_offset(pud, mmuar); |
---|
131 | 141 | if (pmd_none(*pmd)) |
---|
132 | 142 | goto bug; |
---|
133 | 143 | |
---|
.. | .. |
---|
212 | 222 | |
---|
213 | 223 | #include <asm/setup.h> |
---|
214 | 224 | #include <asm/page.h> |
---|
215 | | -#include <asm/pgalloc.h> |
---|
| 225 | +#include <asm/cacheflush.h> |
---|
216 | 226 | |
---|
217 | 227 | static inline int init_new_context(struct task_struct *tsk, |
---|
218 | 228 | struct mm_struct *mm) |
---|