diff options
-rw-r--r-- | arch/arm64/include/asm/pgtable.h | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/arch/arm64/include/asm/pgtable.h b/arch/arm64/include/asm/pgtable.h index 77b09d6fee23..2291de0258ed 100644 --- a/arch/arm64/include/asm/pgtable.h +++ b/arch/arm64/include/asm/pgtable.h | |||
@@ -25,8 +25,8 @@ | |||
25 | * Software defined PTE bits definition. | 25 | * Software defined PTE bits definition. |
26 | */ | 26 | */ |
27 | #define PTE_VALID (_AT(pteval_t, 1) << 0) | 27 | #define PTE_VALID (_AT(pteval_t, 1) << 0) |
28 | #define PTE_PROT_NONE (_AT(pteval_t, 1) << 1) /* only when !PTE_VALID */ | 28 | #define PTE_PROT_NONE (_AT(pteval_t, 1) << 2) /* only when !PTE_VALID */ |
29 | #define PTE_FILE (_AT(pteval_t, 1) << 2) /* only when !pte_present() */ | 29 | #define PTE_FILE (_AT(pteval_t, 1) << 3) /* only when !pte_present() */ |
30 | #define PTE_DIRTY (_AT(pteval_t, 1) << 55) | 30 | #define PTE_DIRTY (_AT(pteval_t, 1) << 55) |
31 | #define PTE_SPECIAL (_AT(pteval_t, 1) << 56) | 31 | #define PTE_SPECIAL (_AT(pteval_t, 1) << 56) |
32 | 32 | ||
@@ -281,12 +281,12 @@ extern pgd_t idmap_pg_dir[PTRS_PER_PGD]; | |||
281 | 281 | ||
282 | /* | 282 | /* |
283 | * Encode and decode a swap entry: | 283 | * Encode and decode a swap entry: |
284 | * bits 0-1: present (must be zero) | 284 | * bits 0, 2: present (must both be zero) |
285 | * bit 2: PTE_FILE | 285 | * bit 3: PTE_FILE |
286 | * bits 3-8: swap type | 286 | * bits 4-8: swap type |
287 | * bits 9-63: swap offset | 287 | * bits 9-63: swap offset |
288 | */ | 288 | */ |
289 | #define __SWP_TYPE_SHIFT 3 | 289 | #define __SWP_TYPE_SHIFT 4 |
290 | #define __SWP_TYPE_BITS 6 | 290 | #define __SWP_TYPE_BITS 6 |
291 | #define __SWP_TYPE_MASK ((1 << __SWP_TYPE_BITS) - 1) | 291 | #define __SWP_TYPE_MASK ((1 << __SWP_TYPE_BITS) - 1) |
292 | #define __SWP_OFFSET_SHIFT (__SWP_TYPE_BITS + __SWP_TYPE_SHIFT) | 292 | #define __SWP_OFFSET_SHIFT (__SWP_TYPE_BITS + __SWP_TYPE_SHIFT) |
@@ -306,15 +306,15 @@ extern pgd_t idmap_pg_dir[PTRS_PER_PGD]; | |||
306 | 306 | ||
307 | /* | 307 | /* |
308 | * Encode and decode a file entry: | 308 | * Encode and decode a file entry: |
309 | * bits 0-1: present (must be zero) | 309 | * bits 0, 2: present (must both be zero) |
310 | * bit 2: PTE_FILE | 310 | * bit 3: PTE_FILE |
311 | * bits 3-63: file offset / PAGE_SIZE | 311 | * bits 4-63: file offset / PAGE_SIZE |
312 | */ | 312 | */ |
313 | #define pte_file(pte) (pte_val(pte) & PTE_FILE) | 313 | #define pte_file(pte) (pte_val(pte) & PTE_FILE) |
314 | #define pte_to_pgoff(x) (pte_val(x) >> 3) | 314 | #define pte_to_pgoff(x) (pte_val(x) >> 4) |
315 | #define pgoff_to_pte(x) __pte(((x) << 3) | PTE_FILE) | 315 | #define pgoff_to_pte(x) __pte(((x) << 4) | PTE_FILE) |
316 | 316 | ||
317 | #define PTE_FILE_MAX_BITS 61 | 317 | #define PTE_FILE_MAX_BITS 60 |
318 | 318 | ||
319 | extern int kern_addr_valid(unsigned long addr); | 319 | extern int kern_addr_valid(unsigned long addr); |
320 | 320 | ||