xref: /openbmc/linux/arch/alpha/lib/clear_page.S (revision 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2)
1*1da177e4SLinus Torvalds/*
2*1da177e4SLinus Torvalds * arch/alpha/lib/clear_page.S
3*1da177e4SLinus Torvalds *
4*1da177e4SLinus Torvalds * Zero an entire page.
5*1da177e4SLinus Torvalds */
6*1da177e4SLinus Torvalds
7*1da177e4SLinus Torvalds	.text
8*1da177e4SLinus Torvalds	.align 4
9*1da177e4SLinus Torvalds	.global clear_page
10*1da177e4SLinus Torvalds	.ent clear_page
11*1da177e4SLinus Torvaldsclear_page:
12*1da177e4SLinus Torvalds	.prologue 0
13*1da177e4SLinus Torvalds
14*1da177e4SLinus Torvalds	lda	$0,128
15*1da177e4SLinus Torvalds	nop
16*1da177e4SLinus Torvalds	unop
17*1da177e4SLinus Torvalds	nop
18*1da177e4SLinus Torvalds
19*1da177e4SLinus Torvalds1:	stq	$31,0($16)
20*1da177e4SLinus Torvalds	stq	$31,8($16)
21*1da177e4SLinus Torvalds	stq	$31,16($16)
22*1da177e4SLinus Torvalds	stq	$31,24($16)
23*1da177e4SLinus Torvalds
24*1da177e4SLinus Torvalds	stq	$31,32($16)
25*1da177e4SLinus Torvalds	stq	$31,40($16)
26*1da177e4SLinus Torvalds	stq	$31,48($16)
27*1da177e4SLinus Torvalds	subq	$0,1,$0
28*1da177e4SLinus Torvalds
29*1da177e4SLinus Torvalds	stq	$31,56($16)
30*1da177e4SLinus Torvalds	addq	$16,64,$16
31*1da177e4SLinus Torvalds	unop
32*1da177e4SLinus Torvalds	bne	$0,1b
33*1da177e4SLinus Torvalds
34*1da177e4SLinus Torvalds	ret
35*1da177e4SLinus Torvalds	nop
36*1da177e4SLinus Torvalds	unop
37*1da177e4SLinus Torvalds	nop
38*1da177e4SLinus Torvalds
39*1da177e4SLinus Torvalds	.end clear_page
40