1
2
3
4 #include <linux/linkage.h>
5 #include <asm/export.h>
6 #include <asm/page.h>
7
8 .text
9 ENTRY(copy_page)
10 pushm $r2, $r10
11 movi $r2, PAGE_SIZE >> 5
12 .Lcopy_loop:
13 lmw.bim $r3, [$r1], $r10
14 smw.bim $r3, [$r0], $r10
15 subi45 $r2, #1
16 bnez38 $r2, .Lcopy_loop
17 popm $r2, $r10
18 ret
19 ENDPROC(copy_page)
20 EXPORT_SYMBOL(copy_page)
21
22 ENTRY(clear_page)
23 pushm $r1, $r9
24 movi $r1, PAGE_SIZE >> 5
25 movi55 $r2, #0
26 movi55 $r3, #0
27 movi55 $r4, #0
28 movi55 $r5, #0
29 movi55 $r6, #0
30 movi55 $r7, #0
31 movi55 $r8, #0
32 movi55 $r9, #0
33 .Lclear_loop:
34 smw.bim $r2, [$r0], $r9
35 subi45 $r1, #1
36 bnez38 $r1, .Lclear_loop
37 popm $r1, $r9
38 ret
39 ENDPROC(clear_page)
40 EXPORT_SYMBOL(clear_page)