/*1* linux/arch/m32r/mm/page.S2*3* Clear/Copy page with CPU4*5* Copyright (C) 2004 The Free Software Initiative of Japan6*7* Written by Niibe Yutaka8*9* This file is subject to the terms and conditions of the GNU General Public10* License. See the file "COPYING" in the main directory of this archive11* for more details.12*13*/14.text15.global copy_page16/*17* copy_page (to, from)18*19* PAGE_SIZE = 4096-byte20* Cache line = 16-byte21* 16 * 25622*/23.align 424copy_page:25ldi r2, #25526ld r3, @r0 /* cache line allocate */27ld r4, @r1+28ld r5, @r1+29ld r6, @r1+30ld r7, @r1+31.fillinsn320:33st r4, @r034st r5, @+r035st r6, @+r036st r7, @+r037ld r4, @r1+38addi r0, #439ld r5, @r1+40ld r6, @r1+41ld r7, @r1+42ld r3, @r0 /* cache line allocate */43addi r2, #-144bnez r2, 0b4546st r4, @r047st r5, @+r048st r6, @+r049st r7, @+r050jmp r145152.text53.global clear_page54/*55* clear_page (to)56*57* PAGE_SIZE = 4096-byte58* Cache line = 16-byte59* 16 * 25660*/61.align 462clear_page:63ldi r2, #25564ldi r4, #065ld r3, @r0 /* cache line allocate */66.fillinsn670:68st r4, @r069st r4, @+r070st r4, @+r071st r4, @+r072addi r0, #473ld r3, @r0 /* cache line allocate */74addi r2, #-175bnez r2, 0b7677st r4, @r078st r4, @+r079st r4, @+r080st r4, @+r081jmp r14828384