aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm64/include/asm/pgtable.h24
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
319extern int kern_addr_valid(unsigned long addr); 319extern int kern_addr_valid(unsigned long addr);
320 320