aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-sparc64/mmu_context.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-sparc64/mmu_context.h')
-rw-r--r--include/asm-sparc64/mmu_context.h15
1 files changed, 10 insertions, 5 deletions
diff --git a/include/asm-sparc64/mmu_context.h b/include/asm-sparc64/mmu_context.h
index 1d232678821d..2760353591ab 100644
--- a/include/asm-sparc64/mmu_context.h
+++ b/include/asm-sparc64/mmu_context.h
@@ -41,11 +41,16 @@ extern void smp_tsb_sync(struct mm_struct *mm);
41 41
42/* Set MMU context in the actual hardware. */ 42/* Set MMU context in the actual hardware. */
43#define load_secondary_context(__mm) \ 43#define load_secondary_context(__mm) \
44 __asm__ __volatile__("stxa %0, [%1] %2\n\t" \ 44 __asm__ __volatile__( \
45 "flush %%g6" \ 45 "\n661: stxa %0, [%1] %2\n" \
46 : /* No outputs */ \ 46 " .section .sun4v_1insn_patch, \"ax\"\n" \
47 : "r" (CTX_HWBITS((__mm)->context)), \ 47 " .word 661b\n" \
48 "r" (SECONDARY_CONTEXT), "i" (ASI_DMMU)) 48 " stxa %0, [%1] %3\n" \
49 " .previous\n" \
50 " flush %%g6\n" \
51 : /* No outputs */ \
52 : "r" (CTX_HWBITS((__mm)->context)), \
53 "r" (SECONDARY_CONTEXT), "i" (ASI_DMMU), "i" (ASI_MMU))
49 54
50extern void __flush_tlb_mm(unsigned long, unsigned long); 55extern void __flush_tlb_mm(unsigned long, unsigned long);
51 56