Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
[linux-2.6-block.git] / arch / nds32 / lib / copy_page.S
CommitLineData
664eec40
GH
1// SPDX-License-Identifier: GPL-2.0
2// Copyright (C) 2005-2017 Andes Technology Corporation
3
4#include <linux/linkage.h>
e3f46243 5#include <asm/export.h>
664eec40
GH
6#include <asm/page.h>
7
8 .text
9ENTRY(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
19ENDPROC(copy_page)
e3f46243 20EXPORT_SYMBOL(copy_page)
664eec40
GH
21
22ENTRY(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
39ENDPROC(clear_page)
e3f46243 40EXPORT_SYMBOL(clear_page)