1 #ifndef __ASM_SH_MMU_CONTEXT_32_H
2 #define __ASM_SH_MMU_CONTEXT_32_H
5 * Destroy context related info for an mm_struct that is about
8 static inline void destroy_context(struct mm_struct
*mm
)
13 #ifdef CONFIG_CPU_HAS_PTEAEX
14 static inline void set_asid(unsigned long asid
)
16 __raw_writel(asid
, MMU_PTEAEX
);
19 static inline unsigned long get_asid(void)
21 return __raw_readl(MMU_PTEAEX
) & MMU_CONTEXT_ASID_MASK
;
24 static inline void set_asid(unsigned long asid
)
26 unsigned long __dummy
;
28 __asm__
__volatile__ ("mov.l %2, %0\n\t"
33 : "r" (asid
), "m" (__m(MMU_PTEH
)),
37 static inline unsigned long get_asid(void)
41 __asm__
__volatile__ ("mov.l %1, %0"
43 : "m" (__m(MMU_PTEH
)));
44 asid
&= MMU_CONTEXT_ASID_MASK
;
47 #endif /* CONFIG_CPU_HAS_PTEAEX */
49 /* MMU_TTB is used for optimizing the fault handling. */
50 static inline void set_TTB(pgd_t
*pgd
)
52 ctrl_outl((unsigned long)pgd
, MMU_TTB
);
55 static inline pgd_t
*get_TTB(void)
57 return (pgd_t
*)ctrl_inl(MMU_TTB
);
59 #endif /* __ASM_SH_MMU_CONTEXT_32_H */