| From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com> |
| Date: Tue, 10 Feb 2015 14:10:15 -0800 |
| Subject: arm64: drop PTE_FILE and pte_file()-related helpers |
| |
| commit 9b3e661e58b90b0c2d5c2168c23408f1e59e9e35 upstream. |
| |
| We've replaced remap_file_pages(2) implementation with emulation. Nobody |
| creates non-linear mapping anymore. |
| |
| This patch also adjust __SWP_TYPE_SHIFT and increase number of bits |
| availble for swap offset. |
| |
| Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> |
| Acked-by: Catalin Marinas <catalin.marinas@arm.com> |
| Cc: Will Deacon <will.deacon@arm.com> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
| Signed-off-by: Ben Hutchings <ben@decadent.org.uk> |
| --- |
| arch/arm64/include/asm/pgtable.h | 22 ++++------------------ |
| 1 file changed, 4 insertions(+), 18 deletions(-) |
| |
| --- a/arch/arm64/include/asm/pgtable.h |
| +++ b/arch/arm64/include/asm/pgtable.h |
| @@ -25,7 +25,6 @@ |
| * Software defined PTE bits definition. |
| */ |
| #define PTE_VALID (_AT(pteval_t, 1) << 0) |
| -#define PTE_FILE (_AT(pteval_t, 1) << 2) /* only when !pte_present() */ |
| #define PTE_DIRTY (_AT(pteval_t, 1) << 55) |
| #define PTE_SPECIAL (_AT(pteval_t, 1) << 56) |
| #define PTE_WRITE (_AT(pteval_t, 1) << 57) |
| @@ -402,13 +401,12 @@ extern pgd_t idmap_pg_dir[PTRS_PER_PGD]; |
| /* |
| * Encode and decode a swap entry: |
| * bits 0-1: present (must be zero) |
| - * bit 2: PTE_FILE |
| - * bits 3-8: swap type |
| - * bits 9-57: swap offset |
| + * bits 2-7: swap type |
| + * bits 8-57: swap offset |
| */ |
| -#define __SWP_TYPE_SHIFT 3 |
| +#define __SWP_TYPE_SHIFT 2 |
| #define __SWP_TYPE_BITS 6 |
| -#define __SWP_OFFSET_BITS 49 |
| +#define __SWP_OFFSET_BITS 50 |
| #define __SWP_TYPE_MASK ((1 << __SWP_TYPE_BITS) - 1) |
| #define __SWP_OFFSET_SHIFT (__SWP_TYPE_BITS + __SWP_TYPE_SHIFT) |
| #define __SWP_OFFSET_MASK ((1UL << __SWP_OFFSET_BITS) - 1) |
| @@ -426,18 +424,6 @@ extern pgd_t idmap_pg_dir[PTRS_PER_PGD]; |
| */ |
| #define MAX_SWAPFILES_CHECK() BUILD_BUG_ON(MAX_SWAPFILES_SHIFT > __SWP_TYPE_BITS) |
| |
| -/* |
| - * Encode and decode a file entry: |
| - * bits 0-1: present (must be zero) |
| - * bit 2: PTE_FILE |
| - * bits 3-57: file offset / PAGE_SIZE |
| - */ |
| -#define pte_file(pte) (pte_val(pte) & PTE_FILE) |
| -#define pte_to_pgoff(x) (pte_val(x) >> 3) |
| -#define pgoff_to_pte(x) __pte(((x) << 3) | PTE_FILE) |
| - |
| -#define PTE_FILE_MAX_BITS 55 |
| - |
| extern int kern_addr_valid(unsigned long addr); |
| |
| #include <asm-generic/pgtable.h> |