pgtable-bits.h (61cbfff4b1a7c15a7e403473ca5a290fd13d5656) pgtable-bits.h (5474682934753827d61d1226ba74ea75787b923d)
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 1994 - 2002 by Ralf Baechle
7 * Copyright (C) 1999, 2000, 2001 Silicon Graphics, Inc.
8 * Copyright (C) 2002 Maciej W. Rozycki

--- 68 unchanged lines hidden (view full) ---

77 _PAGE_PRESENT_SHIFT = _CACHE_SHIFT + 3,
78 _PAGE_NO_READ_SHIFT,
79 _PAGE_WRITE_SHIFT,
80 _PAGE_ACCESSED_SHIFT,
81 _PAGE_MODIFIED_SHIFT,
82 _PAGE_SPECIAL_SHIFT,
83};
84
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 1994 - 2002 by Ralf Baechle
7 * Copyright (C) 1999, 2000, 2001 Silicon Graphics, Inc.
8 * Copyright (C) 2002 Maciej W. Rozycki

--- 68 unchanged lines hidden (view full) ---

77 _PAGE_PRESENT_SHIFT = _CACHE_SHIFT + 3,
78 _PAGE_NO_READ_SHIFT,
79 _PAGE_WRITE_SHIFT,
80 _PAGE_ACCESSED_SHIFT,
81 _PAGE_MODIFIED_SHIFT,
82 _PAGE_SPECIAL_SHIFT,
83};
84
85#elif defined(CONFIG_CPU_R3000) || defined(CONFIG_CPU_TX39XX)
85#elif defined(CONFIG_CPU_R3K_TLB)
86
87/* Page table bits used for r3k systems */
88enum pgtable_bits {
89 /* Used only by software (writes to EntryLo ignored) */
90 _PAGE_PRESENT_SHIFT,
91 _PAGE_NO_READ_SHIFT,
92 _PAGE_WRITE_SHIFT,
93 _PAGE_ACCESSED_SHIFT,

--- 52 unchanged lines hidden (view full) ---

146# define _PAGE_NO_EXEC (1 << _PAGE_NO_EXEC_SHIFT)
147#elif defined(CONFIG_CPU_HAS_RIXI)
148# define _PAGE_NO_EXEC (cpu_has_rixi ? (1 << _PAGE_NO_EXEC_SHIFT) : 0)
149#endif
150#define _PAGE_NO_READ (1 << _PAGE_NO_READ_SHIFT)
151#define _PAGE_GLOBAL (1 << _PAGE_GLOBAL_SHIFT)
152#define _PAGE_VALID (1 << _PAGE_VALID_SHIFT)
153#define _PAGE_DIRTY (1 << _PAGE_DIRTY_SHIFT)
86
87/* Page table bits used for r3k systems */
88enum pgtable_bits {
89 /* Used only by software (writes to EntryLo ignored) */
90 _PAGE_PRESENT_SHIFT,
91 _PAGE_NO_READ_SHIFT,
92 _PAGE_WRITE_SHIFT,
93 _PAGE_ACCESSED_SHIFT,

--- 52 unchanged lines hidden (view full) ---

146# define _PAGE_NO_EXEC (1 << _PAGE_NO_EXEC_SHIFT)
147#elif defined(CONFIG_CPU_HAS_RIXI)
148# define _PAGE_NO_EXEC (cpu_has_rixi ? (1 << _PAGE_NO_EXEC_SHIFT) : 0)
149#endif
150#define _PAGE_NO_READ (1 << _PAGE_NO_READ_SHIFT)
151#define _PAGE_GLOBAL (1 << _PAGE_GLOBAL_SHIFT)
152#define _PAGE_VALID (1 << _PAGE_VALID_SHIFT)
153#define _PAGE_DIRTY (1 << _PAGE_DIRTY_SHIFT)
154#if defined(CONFIG_CPU_R3000) || defined(CONFIG_CPU_TX39XX)
154#if defined(CONFIG_CPU_R3K_TLB)
155# define _CACHE_UNCACHED (1 << _CACHE_UNCACHED_SHIFT)
156# define _CACHE_MASK _CACHE_UNCACHED
157# define _PFN_SHIFT PAGE_SHIFT
158#else
159# define _CACHE_MASK (7 << _CACHE_SHIFT)
160# define _PFN_SHIFT (PAGE_SHIFT - 12 + _CACHE_SHIFT + 3)
161#endif
162

--- 41 unchanged lines hidden (view full) ---

204#endif
205
206 return pte_val >> _PAGE_GLOBAL_SHIFT;
207}
208
209/*
210 * Cache attributes
211 */
155# define _CACHE_UNCACHED (1 << _CACHE_UNCACHED_SHIFT)
156# define _CACHE_MASK _CACHE_UNCACHED
157# define _PFN_SHIFT PAGE_SHIFT
158#else
159# define _CACHE_MASK (7 << _CACHE_SHIFT)
160# define _PFN_SHIFT (PAGE_SHIFT - 12 + _CACHE_SHIFT + 3)
161#endif
162

--- 41 unchanged lines hidden (view full) ---

204#endif
205
206 return pte_val >> _PAGE_GLOBAL_SHIFT;
207}
208
209/*
210 * Cache attributes
211 */
212#if defined(CONFIG_CPU_R3000) || defined(CONFIG_CPU_TX39XX)
212#if defined(CONFIG_CPU_R3K_TLB)
213
214#define _CACHE_CACHABLE_NONCOHERENT 0
215#define _CACHE_UNCACHED_ACCELERATED _CACHE_UNCACHED
216
217#elif defined(CONFIG_CPU_SB1)
218
219/* No penalty for being coherent on the SB1, so just
220 use it for "noncoherent" spaces, too. Shouldn't hurt. */

--- 49 unchanged lines hidden ---
213
214#define _CACHE_CACHABLE_NONCOHERENT 0
215#define _CACHE_UNCACHED_ACCELERATED _CACHE_UNCACHED
216
217#elif defined(CONFIG_CPU_SB1)
218
219/* No penalty for being coherent on the SB1, so just
220 use it for "noncoherent" spaces, too. Shouldn't hurt. */

--- 49 unchanged lines hidden ---