summaryrefslogtreecommitdiffstats
path: root/arch/sh64/lib/page_clear.S
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2007-11-08 18:51:33 +0900
committerPaul Mundt <lethal@linux-sh.org>2008-01-28 13:18:39 +0900
commitdd730b8ff8adfdf8d39cd060acc7223f0d374d32 (patch)
tree24fd26e5c6e6ae72f921530693d0cf923962a895 /arch/sh64/lib/page_clear.S
parent2c6deb5ea414c26483578d41d8537d54dd2d282f (diff)
downloadlinux-dd730b8ff8adfdf8d39cd060acc7223f0d374d32.tar.bz2
sh: Move arch/sh64/lib to arch/sh/lib64.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh64/lib/page_clear.S')
-rw-r--r--arch/sh64/lib/page_clear.S54
1 files changed, 0 insertions, 54 deletions
diff --git a/arch/sh64/lib/page_clear.S b/arch/sh64/lib/page_clear.S
deleted file mode 100644
index ac0111d669a3..000000000000
--- a/arch/sh64/lib/page_clear.S
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- Copyright 2003 Richard Curnow, SuperH (UK) Ltd.
-
- This file is subject to the terms and conditions of the GNU General Public
- License. See the file "COPYING" in the main directory of this archive
- for more details.
-
- Tight version of memset for the case of just clearing a page. It turns out
- that having the alloco's spaced out slightly due to the increment/branch
- pair causes them to contend less for access to the cache. Similarly,
- keeping the stores apart from the allocos causes less contention. => Do two
- separate loops. Do multiple stores per loop to amortise the
- increment/branch cost a little.
-
- Parameters:
- r2 : source effective address (start of page)
-
- Always clears 4096 bytes.
-
- Note : alloco guarded by synco to avoid TAKum03020 erratum
-
-*/
-
- .section .text..SHmedia32,"ax"
- .little
-
- .balign 8
- .global sh64_page_clear
-sh64_page_clear:
- pta/l 1f, tr1
- pta/l 2f, tr2
- ptabs/l r18, tr0
-
- movi 4096, r7
- add r2, r7, r7
- add r2, r63, r6
-1:
- alloco r6, 0
- synco ! TAKum03020
- addi r6, 32, r6
- bgt/l r7, r6, tr1
-
- add r2, r63, r6
-2:
- st.q r6, 0, r63
- st.q r6, 8, r63
- st.q r6, 16, r63
- st.q r6, 24, r63
- addi r6, 32, r6
- bgt/l r7, r6, tr2
-
- blink tr0, r63
-
-