1 #ifndef __SPARC64_MMU_CONTEXT_H
2 #define __SPARC64_MMU_CONTEXT_H
24 #define smp_new_mmu_context_version() do { } while (0)
33 unsigned long tsb_descr_pa);
35 static inline void tsb_context_switch(
struct mm_struct *mm)
39 #
if defined(CONFIG_HUGETLB_PAGE) || defined(CONFIG_TRANSPARENT_HUGEPAGE)
49 extern void tsb_grow(
struct mm_struct *mm,
unsigned long tsb_index,
unsigned long mm_rss);
53 #define smp_tsb_sync(__mm) do { } while (0)
57 #define load_secondary_context(__mm) \
58 __asm__ __volatile__( \
59 "\n661: stxa %0, [%1] %2\n" \
60 " .section .sun4v_1insn_patch, \"ax\"\n" \
62 " stxa %0, [%1] %3\n" \
66 : "r" (CTX_HWBITS((__mm)->context)), \
67 "r" (SECONDARY_CONTEXT), "i" (ASI_DMMU), "i" (ASI_MMU))
116 tsb_context_switch(mm);
124 cpumask_set_cpu(cpu, mm_cpumask(mm));
131 #define deactivate_mm(tsk,mm) do { } while (0)
144 cpumask_set_cpu(cpu, mm_cpumask(mm));
148 tsb_context_switch(mm);