diff options
Diffstat (limited to 'arch/mips')
-rw-r--r-- | arch/mips/include/asm/pgtable-bits.h | 41 |
1 files changed, 25 insertions, 16 deletions
diff --git a/arch/mips/include/asm/pgtable-bits.h b/arch/mips/include/asm/pgtable-bits.h index e592f3687d6f..011b0dcf306e 100644 --- a/arch/mips/include/asm/pgtable-bits.h +++ b/arch/mips/include/asm/pgtable-bits.h | |||
@@ -224,38 +224,47 @@ static inline uint64_t pte_to_entrylo(unsigned long pte_val) | |||
224 | #if defined(CONFIG_CPU_R3000) || defined(CONFIG_CPU_TX39XX) | 224 | #if defined(CONFIG_CPU_R3000) || defined(CONFIG_CPU_TX39XX) |
225 | 225 | ||
226 | #define _CACHE_CACHABLE_NONCOHERENT 0 | 226 | #define _CACHE_CACHABLE_NONCOHERENT 0 |
227 | #define _CACHE_UNCACHED_ACCELERATED _CACHE_UNCACHED | ||
227 | 228 | ||
228 | #elif defined(CONFIG_CPU_SB1) | 229 | #elif defined(CONFIG_CPU_SB1) |
229 | 230 | ||
230 | /* No penalty for being coherent on the SB1, so just | 231 | /* No penalty for being coherent on the SB1, so just |
231 | use it for "noncoherent" spaces, too. Shouldn't hurt. */ | 232 | use it for "noncoherent" spaces, too. Shouldn't hurt. */ |
232 | 233 | ||
233 | #define _CACHE_UNCACHED (2<<_CACHE_SHIFT) | ||
234 | #define _CACHE_CACHABLE_COW (5<<_CACHE_SHIFT) | ||
235 | #define _CACHE_CACHABLE_NONCOHERENT (5<<_CACHE_SHIFT) | 234 | #define _CACHE_CACHABLE_NONCOHERENT (5<<_CACHE_SHIFT) |
236 | #define _CACHE_UNCACHED_ACCELERATED (7<<_CACHE_SHIFT) | ||
237 | 235 | ||
238 | #elif defined(CONFIG_CPU_LOONGSON3) | 236 | #elif defined(CONFIG_CPU_LOONGSON3) |
239 | 237 | ||
240 | /* Using COHERENT flag for NONCOHERENT doesn't hurt. */ | 238 | /* Using COHERENT flag for NONCOHERENT doesn't hurt. */ |
241 | 239 | ||
242 | #define _CACHE_UNCACHED (2<<_CACHE_SHIFT) /* LOONGSON */ | ||
243 | #define _CACHE_CACHABLE_NONCOHERENT (3<<_CACHE_SHIFT) /* LOONGSON */ | 240 | #define _CACHE_CACHABLE_NONCOHERENT (3<<_CACHE_SHIFT) /* LOONGSON */ |
244 | #define _CACHE_CACHABLE_COHERENT (3<<_CACHE_SHIFT) /* LOONGSON-3 */ | 241 | #define _CACHE_CACHABLE_COHERENT (3<<_CACHE_SHIFT) /* LOONGSON-3 */ |
245 | #define _CACHE_UNCACHED_ACCELERATED (7<<_CACHE_SHIFT) /* LOONGSON */ | ||
246 | 242 | ||
247 | #else | 243 | #endif |
248 | |||
249 | #define _CACHE_CACHABLE_NO_WA (0<<_CACHE_SHIFT) /* R4600 only */ | ||
250 | #define _CACHE_CACHABLE_WA (1<<_CACHE_SHIFT) /* R4600 only */ | ||
251 | #define _CACHE_UNCACHED (2<<_CACHE_SHIFT) /* R4[0246]00 */ | ||
252 | #define _CACHE_CACHABLE_NONCOHERENT (3<<_CACHE_SHIFT) /* R4[0246]00 */ | ||
253 | #define _CACHE_CACHABLE_CE (4<<_CACHE_SHIFT) /* R4[04]00MC only */ | ||
254 | #define _CACHE_CACHABLE_COW (5<<_CACHE_SHIFT) /* R4[04]00MC only */ | ||
255 | #define _CACHE_CACHABLE_COHERENT (5<<_CACHE_SHIFT) /* MIPS32R2 CMP */ | ||
256 | #define _CACHE_CACHABLE_CUW (6<<_CACHE_SHIFT) /* R4[04]00MC only */ | ||
257 | #define _CACHE_UNCACHED_ACCELERATED (7<<_CACHE_SHIFT) /* R10000 only */ | ||
258 | 244 | ||
245 | #ifndef _CACHE_CACHABLE_NO_WA | ||
246 | #define _CACHE_CACHABLE_NO_WA (0<<_CACHE_SHIFT) | ||
247 | #endif | ||
248 | #ifndef _CACHE_CACHABLE_WA | ||
249 | #define _CACHE_CACHABLE_WA (1<<_CACHE_SHIFT) | ||
250 | #endif | ||
251 | #ifndef _CACHE_UNCACHED | ||
252 | #define _CACHE_UNCACHED (2<<_CACHE_SHIFT) | ||
253 | #endif | ||
254 | #ifndef _CACHE_CACHABLE_NONCOHERENT | ||
255 | #define _CACHE_CACHABLE_NONCOHERENT (3<<_CACHE_SHIFT) | ||
256 | #endif | ||
257 | #ifndef _CACHE_CACHABLE_CE | ||
258 | #define _CACHE_CACHABLE_CE (4<<_CACHE_SHIFT) | ||
259 | #endif | ||
260 | #ifndef _CACHE_CACHABLE_COW | ||
261 | #define _CACHE_CACHABLE_COW (5<<_CACHE_SHIFT) | ||
262 | #endif | ||
263 | #ifndef _CACHE_CACHABLE_CUW | ||
264 | #define _CACHE_CACHABLE_CUW (6<<_CACHE_SHIFT) | ||
265 | #endif | ||
266 | #ifndef _CACHE_UNCACHED_ACCELERATED | ||
267 | #define _CACHE_UNCACHED_ACCELERATED (7<<_CACHE_SHIFT) | ||
259 | #endif | 268 | #endif |
260 | 269 | ||
261 | #define __READABLE (_PAGE_SILENT_READ | _PAGE_ACCESSED | (cpu_has_rixi ? 0 : _PAGE_READ)) | 270 | #define __READABLE (_PAGE_SILENT_READ | _PAGE_ACCESSED | (cpu_has_rixi ? 0 : _PAGE_READ)) |