summaryrefslogtreecommitdiffstats
path: root/arch/sparc64/lib/copy_page.S
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@evo.osdl.org>2005-09-05 00:12:58 -0700
committerLinus Torvalds <torvalds@evo.osdl.org>2005-09-05 00:12:58 -0700
commite766f1cc596078b1603ac2c96617660c4c7e2d81 (patch)
tree86f24a621dbe39fd25dcec539c2f969f50bfbcab /arch/sparc64/lib/copy_page.S
parent48467641bcc057f7cba3b6cbbe66cb834d64cc81 (diff)
parentebede60741e2cec6d210f137fd22a30e37abc0be (diff)
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
Diffstat (limited to 'arch/sparc64/lib/copy_page.S')
-rw-r--r--arch/sparc64/lib/copy_page.S13
1 files changed, 12 insertions, 1 deletions
diff --git a/arch/sparc64/lib/copy_page.S b/arch/sparc64/lib/copy_page.S
index 23ebf2c970b..feebb14fd27 100644
--- a/arch/sparc64/lib/copy_page.S
+++ b/arch/sparc64/lib/copy_page.S
@@ -87,7 +87,7 @@ copy_user_page: /* %o0=dest, %o1=src, %o2=vaddr */
membar #Sync
wrpr %o2, 0x0, %pstate
- BRANCH_IF_ANY_CHEETAH(g3,o2,1f)
+cheetah_copy_page_insn:
ba,pt %xcc, 9f
nop
@@ -240,3 +240,14 @@ copy_user_page: /* %o0=dest, %o1=src, %o2=vaddr */
stw %o4, [%g6 + TI_PRE_COUNT]
.size copy_user_page, .-copy_user_page
+
+ .globl cheetah_patch_copy_page
+cheetah_patch_copy_page:
+ sethi %hi(0x01000000), %o1 ! NOP
+ sethi %hi(cheetah_copy_page_insn), %o0
+ or %o0, %lo(cheetah_copy_page_insn), %o0
+ stw %o1, [%o0]
+ membar #StoreStore
+ flush %o0
+ retl
+ nop