diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-03-19 23:20:56 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-03-19 23:20:56 -0400 |
commit | 0a14fe6e5efd0af0f9c6c01e0433445d615d0110 (patch) | |
tree | 2f58c263c9d05ca5f96b22c3964dea1bc8ea2e57 /arch | |
parent | a9cf7cd0d7474026d05296c666a0b7f83d798c03 (diff) | |
parent | 24d559cac4d741d60ec85e927974408020a2f060 (diff) |
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
[SPARC64]: store-init needs trailing membar.
Diffstat (limited to 'arch')
-rw-r--r-- | arch/sparc64/kernel/tsb.S | 1 | ||||
-rw-r--r-- | arch/sparc64/lib/NGbzero.S | 1 | ||||
-rw-r--r-- | arch/sparc64/lib/NGmemcpy.S | 2 | ||||
-rw-r--r-- | arch/sparc64/lib/NGpage.S | 2 |
4 files changed, 6 insertions, 0 deletions
diff --git a/arch/sparc64/kernel/tsb.S b/arch/sparc64/kernel/tsb.S index eedf94fa5664..10adb2fb8ffe 100644 --- a/arch/sparc64/kernel/tsb.S +++ b/arch/sparc64/kernel/tsb.S | |||
@@ -546,6 +546,7 @@ NGtsb_init: | |||
546 | subcc %o1, 0x100, %o1 | 546 | subcc %o1, 0x100, %o1 |
547 | bne,pt %xcc, 1b | 547 | bne,pt %xcc, 1b |
548 | add %o0, 0x100, %o0 | 548 | add %o0, 0x100, %o0 |
549 | membar #Sync | ||
549 | retl | 550 | retl |
550 | wr %g2, 0x0, %asi | 551 | wr %g2, 0x0, %asi |
551 | .size NGtsb_init, .-NGtsb_init | 552 | .size NGtsb_init, .-NGtsb_init |
diff --git a/arch/sparc64/lib/NGbzero.S b/arch/sparc64/lib/NGbzero.S index e86baece5cc8..f10e4529ee37 100644 --- a/arch/sparc64/lib/NGbzero.S +++ b/arch/sparc64/lib/NGbzero.S | |||
@@ -88,6 +88,7 @@ NGbzero_loop: | |||
88 | bne,pt %xcc, NGbzero_loop | 88 | bne,pt %xcc, NGbzero_loop |
89 | add %o0, 64, %o0 | 89 | add %o0, 64, %o0 |
90 | 90 | ||
91 | membar #Sync | ||
91 | wr %o4, 0x0, %asi | 92 | wr %o4, 0x0, %asi |
92 | brz,pn %o1, NGbzero_done | 93 | brz,pn %o1, NGbzero_done |
93 | NGbzero_medium: | 94 | NGbzero_medium: |
diff --git a/arch/sparc64/lib/NGmemcpy.S b/arch/sparc64/lib/NGmemcpy.S index 8e522b3dc095..66063a9a66b8 100644 --- a/arch/sparc64/lib/NGmemcpy.S +++ b/arch/sparc64/lib/NGmemcpy.S | |||
@@ -247,6 +247,8 @@ FUNC_NAME: /* %o0=dst, %o1=src, %o2=len */ | |||
247 | /* fall through */ | 247 | /* fall through */ |
248 | 248 | ||
249 | 60: | 249 | 60: |
250 | membar #Sync | ||
251 | |||
250 | /* %o2 contains any final bytes still needed to be copied | 252 | /* %o2 contains any final bytes still needed to be copied |
251 | * over. If anything is left, we copy it one byte at a time. | 253 | * over. If anything is left, we copy it one byte at a time. |
252 | */ | 254 | */ |
diff --git a/arch/sparc64/lib/NGpage.S b/arch/sparc64/lib/NGpage.S index 7d7c3bb8dcbf..8ce3a0c9c537 100644 --- a/arch/sparc64/lib/NGpage.S +++ b/arch/sparc64/lib/NGpage.S | |||
@@ -41,6 +41,7 @@ NGcopy_user_page: /* %o0=dest, %o1=src, %o2=vaddr */ | |||
41 | subcc %g7, 64, %g7 | 41 | subcc %g7, 64, %g7 |
42 | bne,pt %xcc, 1b | 42 | bne,pt %xcc, 1b |
43 | add %o0, 32, %o0 | 43 | add %o0, 32, %o0 |
44 | membar #Sync | ||
44 | retl | 45 | retl |
45 | nop | 46 | nop |
46 | 47 | ||
@@ -63,6 +64,7 @@ NGclear_user_page: /* %o0=dest, %o1=vaddr */ | |||
63 | subcc %g7, 64, %g7 | 64 | subcc %g7, 64, %g7 |
64 | bne,pt %xcc, 1b | 65 | bne,pt %xcc, 1b |
65 | add %o0, 32, %o0 | 66 | add %o0, 32, %o0 |
67 | membar #Sync | ||
66 | retl | 68 | retl |
67 | nop | 69 | nop |
68 | 70 | ||