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