aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKirill A. Shutemov <kirill.shutemov@linux.intel.com>2015-02-10 17:10:53 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2015-02-10 17:30:32 -0500
commit6bf63a8ccb1dccd6ab81bc8bc46863493629cdb8 (patch)
treed8a5de5d070c92cedf33dff25e9ac953d540dd9d
parentb32da82e28ce90bff4e371fc15d2816fa3175bb0 (diff)
mn10300: drop _PAGE_FILE and pte_file()-related helpers
We've replaced remap_file_pages(2) implementation with emulation. Nobody creates non-linear mapping anymore. This patch also increases the number of bits availble for swap offset. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Cc: David Howells <dhowells@redhat.com> Cc: Koichi Yasutake <yasutake.koichi@jp.panasonic.com> Cc: Hugh Dickins <hughd@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--arch/mn10300/include/asm/pgtable.h17
1 files changed, 3 insertions, 14 deletions
diff --git a/arch/mn10300/include/asm/pgtable.h b/arch/mn10300/include/asm/pgtable.h
index 2ddaa67e7983..629181ae111e 100644
--- a/arch/mn10300/include/asm/pgtable.h
+++ b/arch/mn10300/include/asm/pgtable.h
@@ -134,7 +134,6 @@ extern pte_t kernel_vmalloc_ptes[(VMALLOC_END - VMALLOC_START) / PAGE_SIZE];
134#define _PAGE_NX 0 /* no-execute bit */ 134#define _PAGE_NX 0 /* no-execute bit */
135 135
136/* If _PAGE_VALID is clear, we use these: */ 136/* If _PAGE_VALID is clear, we use these: */
137#define _PAGE_FILE xPTEL2_C /* set:pagecache unset:swap */
138#define _PAGE_PROTNONE 0x000 /* If not present */ 137#define _PAGE_PROTNONE 0x000 /* If not present */
139 138
140#define __PAGE_PROT_UWAUX 0x010 139#define __PAGE_PROT_UWAUX 0x010
@@ -241,11 +240,6 @@ static inline int pte_young(pte_t pte) { return pte_val(pte) & _PAGE_ACCESSED; }
241static inline int pte_write(pte_t pte) { return pte_val(pte) & __PAGE_PROT_WRITE; } 240static inline int pte_write(pte_t pte) { return pte_val(pte) & __PAGE_PROT_WRITE; }
242static inline int pte_special(pte_t pte){ return 0; } 241static inline int pte_special(pte_t pte){ return 0; }
243 242
244/*
245 * The following only works if pte_present() is not true.
246 */
247static inline int pte_file(pte_t pte) { return pte_val(pte) & _PAGE_FILE; }
248
249static inline pte_t pte_rdprotect(pte_t pte) 243static inline pte_t pte_rdprotect(pte_t pte)
250{ 244{
251 pte_val(pte) &= ~(__PAGE_PROT_USER|__PAGE_PROT_UWAUX); return pte; 245 pte_val(pte) &= ~(__PAGE_PROT_USER|__PAGE_PROT_UWAUX); return pte;
@@ -338,16 +332,11 @@ static inline int pte_exec_kernel(pte_t pte)
338 return 1; 332 return 1;
339} 333}
340 334
341#define PTE_FILE_MAX_BITS 30
342
343#define pte_to_pgoff(pte) (pte_val(pte) >> 2)
344#define pgoff_to_pte(off) __pte((off) << 2 | _PAGE_FILE)
345
346/* Encode and de-code a swap entry */ 335/* Encode and de-code a swap entry */
347#define __swp_type(x) (((x).val >> 2) & 0x3f) 336#define __swp_type(x) (((x).val >> 1) & 0x3f)
348#define __swp_offset(x) ((x).val >> 8) 337#define __swp_offset(x) ((x).val >> 7)
349#define __swp_entry(type, offset) \ 338#define __swp_entry(type, offset) \
350 ((swp_entry_t) { ((type) << 2) | ((offset) << 8) }) 339 ((swp_entry_t) { ((type) << 1) | ((offset) << 7) })
351#define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) }) 340#define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) })
352#define __swp_entry_to_pte(x) __pte((x).val) 341#define __swp_entry_to_pte(x) __pte((x).val)
353 342