|
@@ -134,7 +134,6 @@ extern pte_t kernel_vmalloc_ptes[(VMALLOC_END - VMALLOC_START) / PAGE_SIZE];
|
|
|
#define _PAGE_NX 0 /* no-execute bit */
|
|
|
|
|
|
/* If _PAGE_VALID is clear, we use these: */
|
|
|
-#define _PAGE_FILE xPTEL2_C /* set:pagecache unset:swap */
|
|
|
#define _PAGE_PROTNONE 0x000 /* If not present */
|
|
|
|
|
|
#define __PAGE_PROT_UWAUX 0x010
|
|
@@ -241,11 +240,6 @@ static inline int pte_young(pte_t pte) { return pte_val(pte) & _PAGE_ACCESSED; }
|
|
|
static inline int pte_write(pte_t pte) { return pte_val(pte) & __PAGE_PROT_WRITE; }
|
|
|
static inline int pte_special(pte_t pte){ return 0; }
|
|
|
|
|
|
-/*
|
|
|
- * The following only works if pte_present() is not true.
|
|
|
- */
|
|
|
-static inline int pte_file(pte_t pte) { return pte_val(pte) & _PAGE_FILE; }
|
|
|
-
|
|
|
static inline pte_t pte_rdprotect(pte_t pte)
|
|
|
{
|
|
|
pte_val(pte) &= ~(__PAGE_PROT_USER|__PAGE_PROT_UWAUX); return pte;
|
|
@@ -338,16 +332,11 @@ static inline int pte_exec_kernel(pte_t pte)
|
|
|
return 1;
|
|
|
}
|
|
|
|
|
|
-#define PTE_FILE_MAX_BITS 30
|
|
|
-
|
|
|
-#define pte_to_pgoff(pte) (pte_val(pte) >> 2)
|
|
|
-#define pgoff_to_pte(off) __pte((off) << 2 | _PAGE_FILE)
|
|
|
-
|
|
|
/* Encode and de-code a swap entry */
|
|
|
-#define __swp_type(x) (((x).val >> 2) & 0x3f)
|
|
|
-#define __swp_offset(x) ((x).val >> 8)
|
|
|
+#define __swp_type(x) (((x).val >> 1) & 0x3f)
|
|
|
+#define __swp_offset(x) ((x).val >> 7)
|
|
|
#define __swp_entry(type, offset) \
|
|
|
- ((swp_entry_t) { ((type) << 2) | ((offset) << 8) })
|
|
|
+ ((swp_entry_t) { ((type) << 1) | ((offset) << 7) })
|
|
|
#define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) })
|
|
|
#define __swp_entry_to_pte(x) __pte((x).val)
|
|
|
|