xref: /openbmc/linux/arch/alpha/lib/clear_page.S (revision 00fc0e0dda6286407f3854cd71a125f519a5689c)
11da177e4SLinus Torvalds/*
21da177e4SLinus Torvalds * arch/alpha/lib/clear_page.S
31da177e4SLinus Torvalds *
41da177e4SLinus Torvalds * Zero an entire page.
51da177e4SLinus Torvalds */
6*00fc0e0dSAl Viro#include <asm/export.h>
71da177e4SLinus Torvalds	.text
81da177e4SLinus Torvalds	.align 4
91da177e4SLinus Torvalds	.global clear_page
101da177e4SLinus Torvalds	.ent clear_page
111da177e4SLinus Torvaldsclear_page:
121da177e4SLinus Torvalds	.prologue 0
131da177e4SLinus Torvalds
141da177e4SLinus Torvalds	lda	$0,128
151da177e4SLinus Torvalds	nop
161da177e4SLinus Torvalds	unop
171da177e4SLinus Torvalds	nop
181da177e4SLinus Torvalds
191da177e4SLinus Torvalds1:	stq	$31,0($16)
201da177e4SLinus Torvalds	stq	$31,8($16)
211da177e4SLinus Torvalds	stq	$31,16($16)
221da177e4SLinus Torvalds	stq	$31,24($16)
231da177e4SLinus Torvalds
241da177e4SLinus Torvalds	stq	$31,32($16)
251da177e4SLinus Torvalds	stq	$31,40($16)
261da177e4SLinus Torvalds	stq	$31,48($16)
271da177e4SLinus Torvalds	subq	$0,1,$0
281da177e4SLinus Torvalds
291da177e4SLinus Torvalds	stq	$31,56($16)
301da177e4SLinus Torvalds	addq	$16,64,$16
311da177e4SLinus Torvalds	unop
321da177e4SLinus Torvalds	bne	$0,1b
331da177e4SLinus Torvalds
341da177e4SLinus Torvalds	ret
351da177e4SLinus Torvalds	nop
361da177e4SLinus Torvalds	unop
371da177e4SLinus Torvalds	nop
381da177e4SLinus Torvalds
391da177e4SLinus Torvalds	.end clear_page
40*00fc0e0dSAl Viro	EXPORT_SYMBOL(clear_page)
41