aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2012-05-12 16:54:58 -0400
committerDavid S. Miller <davem@davemloft.net>2012-05-12 16:54:58 -0400
commit301d5bbb52e076caf0ee5abf68652a50168dc732 (patch)
tree8492ee641766b8af245dc1b22a404a8c5518acf3
parentf755f77a3a8ca03102d09e7f8bd84e020a6eeda4 (diff)
sparc32: Un-btfixup more PTE constants and PTE ops.
pte_{filei,wrprotecti,mkcleani,mkoldi} pte_{mkwrite,mkdirty,mkyoung} Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--arch/sparc/include/asm/pgtable_32.h39
-rw-r--r--arch/sparc/mm/srmmu.c16
2 files changed, 17 insertions, 38 deletions
diff --git a/arch/sparc/include/asm/pgtable_32.h b/arch/sparc/include/asm/pgtable_32.h
index 4b46396ae4fb..6c823f920a5b 100644
--- a/arch/sparc/include/asm/pgtable_32.h
+++ b/arch/sparc/include/asm/pgtable_32.h
@@ -225,12 +225,9 @@ static inline int pte_young(pte_t pte)
225/* 225/*
226 * The following only work if pte_present() is not true. 226 * The following only work if pte_present() is not true.
227 */ 227 */
228BTFIXUPDEF_HALF(pte_filei)
229
230static int pte_file(pte_t pte) __attribute_const__;
231static inline int pte_file(pte_t pte) 228static inline int pte_file(pte_t pte)
232{ 229{
233 return pte_val(pte) & BTFIXUP_HALF(pte_filei); 230 return pte_val(pte) & SRMMU_FILE;
234} 231}
235 232
236static inline int pte_special(pte_t pte) 233static inline int pte_special(pte_t pte)
@@ -238,37 +235,35 @@ static inline int pte_special(pte_t pte)
238 return 0; 235 return 0;
239} 236}
240 237
241/*
242 */
243BTFIXUPDEF_HALF(pte_wrprotecti)
244BTFIXUPDEF_HALF(pte_mkcleani)
245BTFIXUPDEF_HALF(pte_mkoldi)
246
247static pte_t pte_wrprotect(pte_t pte) __attribute_const__;
248static inline pte_t pte_wrprotect(pte_t pte) 238static inline pte_t pte_wrprotect(pte_t pte)
249{ 239{
250 return __pte(pte_val(pte) & ~BTFIXUP_HALF(pte_wrprotecti)); 240 return __pte(pte_val(pte) & ~SRMMU_WRITE);
251} 241}
252 242
253static pte_t pte_mkclean(pte_t pte) __attribute_const__;
254static inline pte_t pte_mkclean(pte_t pte) 243static inline pte_t pte_mkclean(pte_t pte)
255{ 244{
256 return __pte(pte_val(pte) & ~BTFIXUP_HALF(pte_mkcleani)); 245 return __pte(pte_val(pte) & ~SRMMU_DIRTY);
257} 246}
258 247
259static pte_t pte_mkold(pte_t pte) __attribute_const__;
260static inline pte_t pte_mkold(pte_t pte) 248static inline pte_t pte_mkold(pte_t pte)
261{ 249{
262 return __pte(pte_val(pte) & ~BTFIXUP_HALF(pte_mkoldi)); 250 return __pte(pte_val(pte) & ~SRMMU_REF);
263} 251}
264 252
265BTFIXUPDEF_CALL_CONST(pte_t, pte_mkwrite, pte_t) 253static inline pte_t pte_mkwrite(pte_t pte)
266BTFIXUPDEF_CALL_CONST(pte_t, pte_mkdirty, pte_t) 254{
267BTFIXUPDEF_CALL_CONST(pte_t, pte_mkyoung, pte_t) 255 return __pte(pte_val(pte) | SRMMU_WRITE);
256}
268 257
269#define pte_mkwrite(pte) BTFIXUP_CALL(pte_mkwrite)(pte) 258static inline pte_t pte_mkdirty(pte_t pte)
270#define pte_mkdirty(pte) BTFIXUP_CALL(pte_mkdirty)(pte) 259{
271#define pte_mkyoung(pte) BTFIXUP_CALL(pte_mkyoung)(pte) 260 return __pte(pte_val(pte) | SRMMU_DIRTY);
261}
262
263static inline pte_t pte_mkyoung(pte_t pte)
264{
265 return __pte(pte_val(pte) | SRMMU_REF);
266}
272 267
273#define pte_mkspecial(pte) (pte) 268#define pte_mkspecial(pte) (pte)
274 269
diff --git a/arch/sparc/mm/srmmu.c b/arch/sparc/mm/srmmu.c
index b01c735b5815..54efa9263a44 100644
--- a/arch/sparc/mm/srmmu.c
+++ b/arch/sparc/mm/srmmu.c
@@ -128,15 +128,6 @@ static inline pte_t srmmu_pte_mkclean(pte_t pte)
128static inline pte_t srmmu_pte_mkold(pte_t pte) 128static inline pte_t srmmu_pte_mkold(pte_t pte)
129{ return __pte(pte_val(pte) & ~SRMMU_REF);} 129{ return __pte(pte_val(pte) & ~SRMMU_REF);}
130 130
131static inline pte_t srmmu_pte_mkwrite(pte_t pte)
132{ return __pte(pte_val(pte) | SRMMU_WRITE);}
133
134static inline pte_t srmmu_pte_mkdirty(pte_t pte)
135{ return __pte(pte_val(pte) | SRMMU_DIRTY);}
136
137static inline pte_t srmmu_pte_mkyoung(pte_t pte)
138{ return __pte(pte_val(pte) | SRMMU_REF);}
139
140/* XXX should we hyper_flush_whole_icache here - Anton */ 131/* XXX should we hyper_flush_whole_icache here - Anton */
141static inline void srmmu_ctxd_set(ctxd_t *ctxp, pgd_t *pgdp) 132static inline void srmmu_ctxd_set(ctxd_t *ctxp, pgd_t *pgdp)
142{ set_pte((pte_t *)ctxp, (SRMMU_ET_PTD | (__nocache_pa((unsigned long) pgdp) >> 4))); } 133{ set_pte((pte_t *)ctxp, (SRMMU_ET_PTD | (__nocache_pa((unsigned long) pgdp) >> 4))); }
@@ -2073,13 +2064,6 @@ void __init load_mmu(void)
2073 BTFIXUPSET_CALL(free_pgd_fast, srmmu_free_pgd_fast, BTFIXUPCALL_NORM); 2064 BTFIXUPSET_CALL(free_pgd_fast, srmmu_free_pgd_fast, BTFIXUPCALL_NORM);
2074 BTFIXUPSET_CALL(get_pgd_fast, srmmu_get_pgd_fast, BTFIXUPCALL_NORM); 2065 BTFIXUPSET_CALL(get_pgd_fast, srmmu_get_pgd_fast, BTFIXUPCALL_NORM);
2075 2066
2076 BTFIXUPSET_HALF(pte_filei, SRMMU_FILE);
2077 BTFIXUPSET_HALF(pte_wrprotecti, SRMMU_WRITE);
2078 BTFIXUPSET_HALF(pte_mkcleani, SRMMU_DIRTY);
2079 BTFIXUPSET_HALF(pte_mkoldi, SRMMU_REF);
2080 BTFIXUPSET_CALL(pte_mkwrite, srmmu_pte_mkwrite, BTFIXUPCALL_ORINT(SRMMU_WRITE));
2081 BTFIXUPSET_CALL(pte_mkdirty, srmmu_pte_mkdirty, BTFIXUPCALL_ORINT(SRMMU_DIRTY));
2082 BTFIXUPSET_CALL(pte_mkyoung, srmmu_pte_mkyoung, BTFIXUPCALL_ORINT(SRMMU_REF));
2083 BTFIXUPSET_CALL(update_mmu_cache, srmmu_update_mmu_cache, BTFIXUPCALL_NOP); 2067 BTFIXUPSET_CALL(update_mmu_cache, srmmu_update_mmu_cache, BTFIXUPCALL_NOP);
2084 BTFIXUPSET_CALL(destroy_context, srmmu_destroy_context, BTFIXUPCALL_NORM); 2068 BTFIXUPSET_CALL(destroy_context, srmmu_destroy_context, BTFIXUPCALL_NORM);
2085 2069