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