diff options
Diffstat (limited to 'arch/sparc64/solaris/misc.c')
| -rw-r--r-- | arch/sparc64/solaris/misc.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/sparc64/solaris/misc.c b/arch/sparc64/solaris/misc.c index 15b4cfe07557..302efbcba70e 100644 --- a/arch/sparc64/solaris/misc.c +++ b/arch/sparc64/solaris/misc.c | |||
| @@ -737,7 +737,8 @@ MODULE_LICENSE("GPL"); | |||
| 737 | extern u32 tl0_solaris[8]; | 737 | extern u32 tl0_solaris[8]; |
| 738 | #define update_ttable(x) \ | 738 | #define update_ttable(x) \ |
| 739 | tl0_solaris[3] = (((long)(x) - (long)tl0_solaris - 3) >> 2) | 0x40000000; \ | 739 | tl0_solaris[3] = (((long)(x) - (long)tl0_solaris - 3) >> 2) | 0x40000000; \ |
| 740 | __asm__ __volatile__ ("membar #StoreStore; flush %0" : : "r" (&tl0_solaris[3])) | 740 | wmb(); \ |
| 741 | __asm__ __volatile__ ("flush %0" : : "r" (&tl0_solaris[3])) | ||
| 741 | #else | 742 | #else |
| 742 | #endif | 743 | #endif |
| 743 | 744 | ||
| @@ -761,7 +762,8 @@ int init_module(void) | |||
| 761 | entry64_personality_patch |= | 762 | entry64_personality_patch |= |
| 762 | (offsetof(struct task_struct, personality) + | 763 | (offsetof(struct task_struct, personality) + |
| 763 | (sizeof(unsigned long) - 1)); | 764 | (sizeof(unsigned long) - 1)); |
| 764 | __asm__ __volatile__("membar #StoreStore; flush %0" | 765 | wmb(); |
| 766 | __asm__ __volatile__("flush %0" | ||
| 765 | : : "r" (&entry64_personality_patch)); | 767 | : : "r" (&entry64_personality_patch)); |
| 766 | return 0; | 768 | return 0; |
| 767 | } | 769 | } |
