xref: /openbmc/linux/arch/alpha/lib/ev6-clear_page.S (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
1b2441318SGreg Kroah-Hartman/* SPDX-License-Identifier: GPL-2.0 */
21da177e4SLinus Torvalds/*
31da177e4SLinus Torvalds * arch/alpha/lib/ev6-clear_page.S
41da177e4SLinus Torvalds *
51da177e4SLinus Torvalds * Zero an entire page.
61da177e4SLinus Torvalds */
7*f3c78e94SMasahiro Yamada#include <linux/export.h>
81da177e4SLinus Torvalds        .text
91da177e4SLinus Torvalds        .align 4
101da177e4SLinus Torvalds        .global clear_page
111da177e4SLinus Torvalds        .ent clear_page
121da177e4SLinus Torvaldsclear_page:
131da177e4SLinus Torvalds        .prologue 0
141da177e4SLinus Torvalds
151da177e4SLinus Torvalds	lda	$0,128
161da177e4SLinus Torvalds	lda	$1,125
171da177e4SLinus Torvalds	addq	$16,64,$2
181da177e4SLinus Torvalds	addq	$16,128,$3
191da177e4SLinus Torvalds
201da177e4SLinus Torvalds	addq	$16,192,$17
211da177e4SLinus Torvalds	wh64	($16)
221da177e4SLinus Torvalds	wh64	($2)
231da177e4SLinus Torvalds	wh64	($3)
241da177e4SLinus Torvalds
251da177e4SLinus Torvalds1:	wh64	($17)
261da177e4SLinus Torvalds	stq	$31,0($16)
271da177e4SLinus Torvalds	subq	$0,1,$0
281da177e4SLinus Torvalds	subq	$1,1,$1
291da177e4SLinus Torvalds
301da177e4SLinus Torvalds	stq	$31,8($16)
311da177e4SLinus Torvalds	stq	$31,16($16)
321da177e4SLinus Torvalds	addq	$17,64,$2
331da177e4SLinus Torvalds	nop
341da177e4SLinus Torvalds
351da177e4SLinus Torvalds	stq	$31,24($16)
361da177e4SLinus Torvalds	stq	$31,32($16)
371da177e4SLinus Torvalds	cmovgt	$1,$2,$17
381da177e4SLinus Torvalds	nop
391da177e4SLinus Torvalds
401da177e4SLinus Torvalds	stq	$31,40($16)
411da177e4SLinus Torvalds	stq	$31,48($16)
421da177e4SLinus Torvalds	nop
431da177e4SLinus Torvalds	nop
441da177e4SLinus Torvalds
451da177e4SLinus Torvalds	stq	$31,56($16)
461da177e4SLinus Torvalds	addq	$16,64,$16
471da177e4SLinus Torvalds	nop
481da177e4SLinus Torvalds	bne	$0,1b
491da177e4SLinus Torvalds
501da177e4SLinus Torvalds	ret
511da177e4SLinus Torvalds	nop
521da177e4SLinus Torvalds	nop
531da177e4SLinus Torvalds	nop
541da177e4SLinus Torvalds
551da177e4SLinus Torvalds	.end clear_page
5600fc0e0dSAl Viro	EXPORT_SYMBOL(clear_page)
57