]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blob - arch/unicore32/lib/copy_page.S
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
[mirror_ubuntu-zesty-kernel.git] / arch / unicore32 / lib / copy_page.S
1 /*
2 * linux/arch/unicore32/lib/copy_page.S
3 *
4 * Code specific to PKUnity SoC and UniCore ISA
5 *
6 * Copyright (C) 2001-2010 GUAN Xue-tao
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation.
11 *
12 * ASM optimised string functions
13 */
14 #include <linux/linkage.h>
15 #include <asm/assembler.h>
16 #include <generated/asm-offsets.h>
17 #include <asm/cache.h>
18
19 #define COPY_COUNT (PAGE_SZ/256)
20
21 .text
22 .align 5
23 /*
24 * UniCore optimised copy_page routine
25 */
26 ENTRY(copy_page)
27 stm.w (r17 - r19, lr), [sp-]
28 mov r17, r0
29 mov r18, r1
30 mov r19, #COPY_COUNT
31 1:
32 .rept 4
33 ldm.w (r0 - r15), [r18]+
34 stm.w (r0 - r15), [r17]+
35 .endr
36 sub.a r19, r19, #1
37 bne 1b
38 ldm.w (r17 - r19, pc), [sp]+
39 ENDPROC(copy_page)