diff options
author | David S. Miller <davem@sunset.davemloft.net> | 2006-02-08 01:13:05 -0500 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-03-20 04:11:56 -0500 |
commit | 8b11bd12aff76e02cdc2cbc9e439bba88d281223 (patch) | |
tree | 903ab8830616bfbe5a821e4359f642842c8060a4 /include/asm-sparc64/mmu_context.h | |
parent | 481295f982b21b1dbe71cbf41d3a93028fee30d1 (diff) |
[SPARC64]: Patch up mmu context register writes for sun4v.
sun4v uses ASI_MMU instead of ASI_DMMU
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/asm-sparc64/mmu_context.h')
-rw-r--r-- | include/asm-sparc64/mmu_context.h | 15 |
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 | ||
50 | extern void __flush_tlb_mm(unsigned long, unsigned long); | 55 | extern void __flush_tlb_mm(unsigned long, unsigned long); |
51 | 56 | ||