| .. | .. |
|---|
| 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) |
|---|