mirror of https://gitee.com/openkylin/linux.git
[SPARC64]: Kill BRANCH_IF_ANY_CHEETAH() from copy page.
Just patch the branch at boot time instead. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
d7ce78fd9a
commit
dbd2fdf549
|
@ -539,10 +539,11 @@ cheetah_tlb_fixup:
|
||||||
call cheetah_plus_patch_winfixup
|
call cheetah_plus_patch_winfixup
|
||||||
nop
|
nop
|
||||||
|
|
||||||
|
|
||||||
2: /* Patch copy/page operations to cheetah optimized versions. */
|
2: /* Patch copy/page operations to cheetah optimized versions. */
|
||||||
call cheetah_patch_copyops
|
call cheetah_patch_copyops
|
||||||
nop
|
nop
|
||||||
|
call cheetah_patch_copy_page
|
||||||
|
nop
|
||||||
call cheetah_patch_cachetlbops
|
call cheetah_patch_cachetlbops
|
||||||
nop
|
nop
|
||||||
|
|
||||||
|
|
|
@ -87,7 +87,7 @@ copy_user_page: /* %o0=dest, %o1=src, %o2=vaddr */
|
||||||
membar #Sync
|
membar #Sync
|
||||||
wrpr %o2, 0x0, %pstate
|
wrpr %o2, 0x0, %pstate
|
||||||
|
|
||||||
BRANCH_IF_ANY_CHEETAH(g3,o2,1f)
|
cheetah_copy_page_insn:
|
||||||
ba,pt %xcc, 9f
|
ba,pt %xcc, 9f
|
||||||
nop
|
nop
|
||||||
|
|
||||||
|
@ -240,3 +240,14 @@ copy_user_page: /* %o0=dest, %o1=src, %o2=vaddr */
|
||||||
stw %o4, [%g6 + TI_PRE_COUNT]
|
stw %o4, [%g6 + TI_PRE_COUNT]
|
||||||
|
|
||||||
.size copy_user_page, .-copy_user_page
|
.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
|
||||||
|
|
Loading…
Reference in New Issue