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 */