aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/include/asm/pgtable-bits.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips/include/asm/pgtable-bits.h')
-rw-r--r--arch/mips/include/asm/pgtable-bits.h40
1 files changed, 20 insertions, 20 deletions
diff --git a/arch/mips/include/asm/pgtable-bits.h b/arch/mips/include/asm/pgtable-bits.h
index 5a7ccc2473f8..32aea4852fb0 100644
--- a/arch/mips/include/asm/pgtable-bits.h
+++ b/arch/mips/include/asm/pgtable-bits.h
@@ -21,7 +21,7 @@
21 * Similar to the Alpha port, we need to keep track of the ref 21 * Similar to the Alpha port, we need to keep track of the ref
22 * and mod bits in software. We have a software "yeah you can read 22 * and mod bits in software. We have a software "yeah you can read
23 * from this page" bit, and a hardware one which actually lets the 23 * from this page" bit, and a hardware one which actually lets the
24 * process read from the page. On the same token we have a software 24 * process read from the page. On the same token we have a software
25 * writable bit and the real hardware one which actually lets the 25 * writable bit and the real hardware one which actually lets the
26 * process write to the page, this keeps a mod bit via the hardware 26 * process write to the page, this keeps a mod bit via the hardware
27 * dirty bit. 27 * dirty bit.
@@ -41,9 +41,9 @@
41#define _PAGE_GLOBAL (1 << 0) 41#define _PAGE_GLOBAL (1 << 0)
42#define _PAGE_VALID_SHIFT 1 42#define _PAGE_VALID_SHIFT 1
43#define _PAGE_VALID (1 << _PAGE_VALID_SHIFT) 43#define _PAGE_VALID (1 << _PAGE_VALID_SHIFT)
44#define _PAGE_SILENT_READ (1 << 1) /* synonym */ 44#define _PAGE_SILENT_READ (1 << 1) /* synonym */
45#define _PAGE_DIRTY_SHIFT 2 45#define _PAGE_DIRTY_SHIFT 2
46#define _PAGE_DIRTY (1 << _PAGE_DIRTY_SHIFT) /* The MIPS dirty bit */ 46#define _PAGE_DIRTY (1 << _PAGE_DIRTY_SHIFT) /* The MIPS dirty bit */
47#define _PAGE_SILENT_WRITE (1 << 2) 47#define _PAGE_SILENT_WRITE (1 << 2)
48#define _CACHE_SHIFT 3 48#define _CACHE_SHIFT 3
49#define _CACHE_MASK (7 << 3) 49#define _CACHE_MASK (7 << 3)
@@ -134,7 +134,7 @@
134#define _PAGE_HUGE (1 << _PAGE_HUGE_SHIFT) 134#define _PAGE_HUGE (1 << _PAGE_HUGE_SHIFT)
135#else 135#else
136#define _PAGE_HUGE_SHIFT (_PAGE_MODIFIED_SHIFT) 136#define _PAGE_HUGE_SHIFT (_PAGE_MODIFIED_SHIFT)
137#define _PAGE_HUGE ({BUG(); 1; }) /* Dummy value */ 137#define _PAGE_HUGE ({BUG(); 1; }) /* Dummy value */
138#endif 138#endif
139 139
140#ifdef CONFIG_MIPS_HUGE_TLB_SUPPORT 140#ifdef CONFIG_MIPS_HUGE_TLB_SUPPORT
@@ -143,7 +143,7 @@
143#define _PAGE_SPLITTING (1 << _PAGE_SPLITTING_SHIFT) 143#define _PAGE_SPLITTING (1 << _PAGE_SPLITTING_SHIFT)
144#else 144#else
145#define _PAGE_SPLITTING_SHIFT (_PAGE_HUGE_SHIFT) 145#define _PAGE_SPLITTING_SHIFT (_PAGE_HUGE_SHIFT)
146#define _PAGE_SPLITTING ({BUG(); 1; }) /* Dummy value */ 146#define _PAGE_SPLITTING ({BUG(); 1; }) /* Dummy value */
147#endif 147#endif
148 148
149/* Page cannot be executed */ 149/* Page cannot be executed */
@@ -159,10 +159,10 @@
159 159
160#define _PAGE_VALID_SHIFT (_PAGE_GLOBAL_SHIFT + 1) 160#define _PAGE_VALID_SHIFT (_PAGE_GLOBAL_SHIFT + 1)
161#define _PAGE_VALID (1 << _PAGE_VALID_SHIFT) 161#define _PAGE_VALID (1 << _PAGE_VALID_SHIFT)
162/* synonym */ 162/* synonym */
163#define _PAGE_SILENT_READ (_PAGE_VALID) 163#define _PAGE_SILENT_READ (_PAGE_VALID)
164 164
165/* The MIPS dirty bit */ 165/* The MIPS dirty bit */
166#define _PAGE_DIRTY_SHIFT (_PAGE_VALID_SHIFT + 1) 166#define _PAGE_DIRTY_SHIFT (_PAGE_VALID_SHIFT + 1)
167#define _PAGE_DIRTY (1 << _PAGE_DIRTY_SHIFT) 167#define _PAGE_DIRTY (1 << _PAGE_DIRTY_SHIFT)
168#define _PAGE_SILENT_WRITE (_PAGE_DIRTY) 168#define _PAGE_SILENT_WRITE (_PAGE_DIRTY)
@@ -175,7 +175,7 @@
175#endif /* defined(CONFIG_64BIT_PHYS_ADDR && defined(CONFIG_CPU_MIPS32) */ 175#endif /* defined(CONFIG_64BIT_PHYS_ADDR && defined(CONFIG_CPU_MIPS32) */
176 176
177#ifndef _PFN_SHIFT 177#ifndef _PFN_SHIFT
178#define _PFN_SHIFT PAGE_SHIFT 178#define _PFN_SHIFT PAGE_SHIFT
179#endif 179#endif
180#define _PFN_MASK (~((1 << (_PFN_SHIFT)) - 1)) 180#define _PFN_MASK (~((1 << (_PFN_SHIFT)) - 1))
181 181
@@ -230,28 +230,28 @@ static inline uint64_t pte_to_entrylo(unsigned long pte_val)
230/* No penalty for being coherent on the SB1, so just 230/* No penalty for being coherent on the SB1, so just
231 use it for "noncoherent" spaces, too. Shouldn't hurt. */ 231 use it for "noncoherent" spaces, too. Shouldn't hurt. */
232 232
233#define _CACHE_UNCACHED (2<<_CACHE_SHIFT) 233#define _CACHE_UNCACHED (2<<_CACHE_SHIFT)
234#define _CACHE_CACHABLE_COW (5<<_CACHE_SHIFT) 234#define _CACHE_CACHABLE_COW (5<<_CACHE_SHIFT)
235#define _CACHE_CACHABLE_NONCOHERENT (5<<_CACHE_SHIFT) 235#define _CACHE_CACHABLE_NONCOHERENT (5<<_CACHE_SHIFT)
236#define _CACHE_UNCACHED_ACCELERATED (7<<_CACHE_SHIFT) 236#define _CACHE_UNCACHED_ACCELERATED (7<<_CACHE_SHIFT)
237 237
238#else 238#else
239 239
240#define _CACHE_CACHABLE_NO_WA (0<<_CACHE_SHIFT) /* R4600 only */ 240#define _CACHE_CACHABLE_NO_WA (0<<_CACHE_SHIFT) /* R4600 only */
241#define _CACHE_CACHABLE_WA (1<<_CACHE_SHIFT) /* R4600 only */ 241#define _CACHE_CACHABLE_WA (1<<_CACHE_SHIFT) /* R4600 only */
242#define _CACHE_UNCACHED (2<<_CACHE_SHIFT) /* R4[0246]00 */ 242#define _CACHE_UNCACHED (2<<_CACHE_SHIFT) /* R4[0246]00 */
243#define _CACHE_CACHABLE_NONCOHERENT (3<<_CACHE_SHIFT) /* R4[0246]00 */ 243#define _CACHE_CACHABLE_NONCOHERENT (3<<_CACHE_SHIFT) /* R4[0246]00 */
244#define _CACHE_CACHABLE_CE (4<<_CACHE_SHIFT) /* R4[04]00MC only */ 244#define _CACHE_CACHABLE_CE (4<<_CACHE_SHIFT) /* R4[04]00MC only */
245#define _CACHE_CACHABLE_COW (5<<_CACHE_SHIFT) /* R4[04]00MC only */ 245#define _CACHE_CACHABLE_COW (5<<_CACHE_SHIFT) /* R4[04]00MC only */
246#define _CACHE_CACHABLE_COHERENT (5<<_CACHE_SHIFT) /* MIPS32R2 CMP */ 246#define _CACHE_CACHABLE_COHERENT (5<<_CACHE_SHIFT) /* MIPS32R2 CMP */
247#define _CACHE_CACHABLE_CUW (6<<_CACHE_SHIFT) /* R4[04]00MC only */ 247#define _CACHE_CACHABLE_CUW (6<<_CACHE_SHIFT) /* R4[04]00MC only */
248#define _CACHE_UNCACHED_ACCELERATED (7<<_CACHE_SHIFT) /* R10000 only */ 248#define _CACHE_UNCACHED_ACCELERATED (7<<_CACHE_SHIFT) /* R10000 only */
249 249
250#endif 250#endif
251 251
252#define __READABLE (_PAGE_SILENT_READ | _PAGE_ACCESSED | (cpu_has_rixi ? 0 : _PAGE_READ)) 252#define __READABLE (_PAGE_SILENT_READ | _PAGE_ACCESSED | (cpu_has_rixi ? 0 : _PAGE_READ))
253#define __WRITEABLE (_PAGE_WRITE | _PAGE_SILENT_WRITE | _PAGE_MODIFIED) 253#define __WRITEABLE (_PAGE_WRITE | _PAGE_SILENT_WRITE | _PAGE_MODIFIED)
254 254
255#define _PAGE_CHG_MASK (_PFN_MASK | _PAGE_ACCESSED | _PAGE_MODIFIED | _CACHE_MASK) 255#define _PAGE_CHG_MASK (_PFN_MASK | _PAGE_ACCESSED | _PAGE_MODIFIED | _CACHE_MASK)
256 256
257#endif /* _ASM_PGTABLE_BITS_H */ 257#endif /* _ASM_PGTABLE_BITS_H */