/*1* linux/arch/unicore32/lib/copy_page.S2*3* Code specific to PKUnity SoC and UniCore ISA4*5* Copyright (C) 2001-2010 GUAN Xue-tao6*7* This program is free software; you can redistribute it and/or modify8* it under the terms of the GNU General Public License version 2 as9* published by the Free Software Foundation.10*11* ASM optimised string functions12*/13#include <linux/linkage.h>14#include <asm/assembler.h>15#include <generated/asm-offsets.h>16#include <asm/cache.h>1718#define COPY_COUNT (PAGE_SZ/256)1920.text21.align 522/*23* UniCore optimised copy_page routine24*/25ENTRY(copy_page)26stm.w (r17 - r19, lr), [sp-]27mov r17, r028mov r18, r129mov r19, #COPY_COUNT301:31.rept 432ldm.w (r0 - r15), [r18]+33stm.w (r0 - r15), [r17]+34.endr35sub.a r19, r19, #136bne 1b37ldm.w (r17 - r19, pc), [sp]+38ENDPROC(copy_page)394041