linux/arch/nds32/lib/copy_page.S
<<
>>
Prefs
   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
   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)
  20EXPORT_SYMBOL(copy_page)
  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)
  40EXPORT_SYMBOL(clear_page)
  41