diff options
Diffstat (limited to 'arch/arm64/include/asm/pgtable.h')
-rw-r--r-- | arch/arm64/include/asm/pgtable.h | 22 |
1 files changed, 4 insertions, 18 deletions
diff --git a/arch/arm64/include/asm/pgtable.h b/arch/arm64/include/asm/pgtable.h index 210d632aa5ad..4c445057169d 100644 --- a/arch/arm64/include/asm/pgtable.h +++ b/arch/arm64/include/asm/pgtable.h | |||
@@ -25,7 +25,6 @@ | |||
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_FILE (_AT(pteval_t, 1) << 2) /* only when !pte_present() */ | ||
29 | #define PTE_DIRTY (_AT(pteval_t, 1) << 55) | 28 | #define PTE_DIRTY (_AT(pteval_t, 1) << 55) |
30 | #define PTE_SPECIAL (_AT(pteval_t, 1) << 56) | 29 | #define PTE_SPECIAL (_AT(pteval_t, 1) << 56) |
31 | #define PTE_WRITE (_AT(pteval_t, 1) << 57) | 30 | #define PTE_WRITE (_AT(pteval_t, 1) << 57) |
@@ -469,13 +468,12 @@ extern pgd_t idmap_pg_dir[PTRS_PER_PGD]; | |||
469 | /* | 468 | /* |
470 | * Encode and decode a swap entry: | 469 | * Encode and decode a swap entry: |
471 | * bits 0-1: present (must be zero) | 470 | * bits 0-1: present (must be zero) |
472 | * bit 2: PTE_FILE | 471 | * bits 2-7: swap type |
473 | * bits 3-8: swap type | 472 | * bits 8-57: swap offset |
474 | * bits 9-57: swap offset | ||
475 | */ | 473 | */ |
476 | #define __SWP_TYPE_SHIFT 3 | 474 | #define __SWP_TYPE_SHIFT 2 |
477 | #define __SWP_TYPE_BITS 6 | 475 | #define __SWP_TYPE_BITS 6 |
478 | #define __SWP_OFFSET_BITS 49 | 476 | #define __SWP_OFFSET_BITS 50 |
479 | #define __SWP_TYPE_MASK ((1 << __SWP_TYPE_BITS) - 1) | 477 | #define __SWP_TYPE_MASK ((1 << __SWP_TYPE_BITS) - 1) |
480 | #define __SWP_OFFSET_SHIFT (__SWP_TYPE_BITS + __SWP_TYPE_SHIFT) | 478 | #define __SWP_OFFSET_SHIFT (__SWP_TYPE_BITS + __SWP_TYPE_SHIFT) |
481 | #define __SWP_OFFSET_MASK ((1UL << __SWP_OFFSET_BITS) - 1) | 479 | #define __SWP_OFFSET_MASK ((1UL << __SWP_OFFSET_BITS) - 1) |
@@ -493,18 +491,6 @@ extern pgd_t idmap_pg_dir[PTRS_PER_PGD]; | |||
493 | */ | 491 | */ |
494 | #define MAX_SWAPFILES_CHECK() BUILD_BUG_ON(MAX_SWAPFILES_SHIFT > __SWP_TYPE_BITS) | 492 | #define MAX_SWAPFILES_CHECK() BUILD_BUG_ON(MAX_SWAPFILES_SHIFT > __SWP_TYPE_BITS) |
495 | 493 | ||
496 | /* | ||
497 | * Encode and decode a file entry: | ||
498 | * bits 0-1: present (must be zero) | ||
499 | * bit 2: PTE_FILE | ||
500 | * bits 3-57: file offset / PAGE_SIZE | ||
501 | */ | ||
502 | #define pte_file(pte) (pte_val(pte) & PTE_FILE) | ||
503 | #define pte_to_pgoff(x) (pte_val(x) >> 3) | ||
504 | #define pgoff_to_pte(x) __pte(((x) << 3) | PTE_FILE) | ||
505 | |||
506 | #define PTE_FILE_MAX_BITS 55 | ||
507 | |||
508 | extern int kern_addr_valid(unsigned long addr); | 494 | extern int kern_addr_valid(unsigned long addr); |
509 | 495 | ||
510 | #include <asm-generic/pgtable.h> | 496 | #include <asm-generic/pgtable.h> |