Greentime Hu | 664eec4 | 2017-10-24 15:25:00 +0800 | [diff] [blame] | 1 | // SPDX-License-Identifier: GPL-2.0 |
2 | // Copyright (C) 2005-2017 Andes Technology Corporation | ||||
3 | |||||
4 | #include <linux/linkage.h> | ||||
5 | #include <asm/page.h> | ||||
6 | |||||
7 | .text | ||||
8 | ENTRY(copy_page) | ||||
9 | pushm $r2, $r10 | ||||
10 | movi $r2, PAGE_SIZE >> 5 | ||||
11 | .Lcopy_loop: | ||||
12 | lmw.bim $r3, [$r1], $r10 | ||||
13 | smw.bim $r3, [$r0], $r10 | ||||
14 | subi45 $r2, #1 | ||||
15 | bnez38 $r2, .Lcopy_loop | ||||
16 | popm $r2, $r10 | ||||
17 | ret | ||||
18 | ENDPROC(copy_page) | ||||
19 | |||||
20 | ENTRY(clear_page) | ||||
21 | pushm $r1, $r9 | ||||
22 | movi $r1, PAGE_SIZE >> 5 | ||||
23 | movi55 $r2, #0 | ||||
24 | movi55 $r3, #0 | ||||
25 | movi55 $r4, #0 | ||||
26 | movi55 $r5, #0 | ||||
27 | movi55 $r6, #0 | ||||
28 | movi55 $r7, #0 | ||||
29 | movi55 $r8, #0 | ||||
30 | movi55 $r9, #0 | ||||
31 | .Lclear_loop: | ||||
32 | smw.bim $r2, [$r0], $r9 | ||||
33 | subi45 $r1, #1 | ||||
34 | bnez38 $r1, .Lclear_loop | ||||
35 | popm $r1, $r9 | ||||
36 | ret | ||||
37 | ENDPROC(clear_page) |