root/arch/nds32/lib/copy_page.S

/* [<][>][^][v][top][bottom][index][help] */
   1 // SPDX-License-Identifier: GPL-2.0
   2 // Copyright (C) 2005-2017 Andes Technology Corporation
   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)

/* [<][>][^][v][top][bottom][index][help] */