| .. | .. |
|---|
| 26 | 26 | #define p4d_ERROR(p4d) (pgd_ERROR((p4d).pgd)) |
|---|
| 27 | 27 | |
|---|
| 28 | 28 | #define pgd_populate(mm, pgd, p4d) do { } while (0) |
|---|
| 29 | +#define pgd_populate_safe(mm, pgd, p4d) do { } while (0) |
|---|
| 29 | 30 | /* |
|---|
| 30 | 31 | * (p4ds are folded into pgds so this doesn't get actually called, |
|---|
| 31 | 32 | * but the define is needed for a generic inline function.) |
|---|
| .. | .. |
|---|
| 41 | 42 | #define __p4d(x) ((p4d_t) { __pgd(x) }) |
|---|
| 42 | 43 | |
|---|
| 43 | 44 | #define pgd_page(pgd) (p4d_page((p4d_t){ pgd })) |
|---|
| 44 | | -#define pgd_page_vaddr(pgd) (p4d_page_vaddr((p4d_t){ pgd })) |
|---|
| 45 | +#define pgd_page_vaddr(pgd) ((unsigned long)(p4d_pgtable((p4d_t){ pgd }))) |
|---|
| 45 | 46 | |
|---|
| 46 | 47 | /* |
|---|
| 47 | 48 | * allocating and freeing a p4d is trivial: the 1-entry p4d is |
|---|
| .. | .. |
|---|
| 49 | 50 | */ |
|---|
| 50 | 51 | #define p4d_alloc_one(mm, address) NULL |
|---|
| 51 | 52 | #define p4d_free(mm, x) do { } while (0) |
|---|
| 52 | | -#define __p4d_free_tlb(tlb, x, a) do { } while (0) |
|---|
| 53 | +#define p4d_free_tlb(tlb, x, a) do { } while (0) |
|---|
| 53 | 54 | |
|---|
| 54 | 55 | #undef p4d_addr_end |
|---|
| 55 | 56 | #define p4d_addr_end(addr, end) (end) |
|---|