1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * arch/alpha/lib/ev6-clear_page.S
4 *
5 * Zero an entire page.
6 */
7#include <linux/export.h>
8 .text
9 .align 4
10 .global clear_page
11 .ent clear_page
12clear_page:
13 .prologue 0
14
15 lda $0,128
16 lda $1,125
17 addq $16,64,$2
18 addq $16,128,$3
19
20 addq $16,192,$17
21 wh64 ($16)
22 wh64 ($2)
23 wh64 ($3)
24
251: wh64 ($17)
26 stq $31,0($16)
27 subq $0,1,$0
28 subq $1,1,$1
29
30 stq $31,8($16)
31 stq $31,16($16)
32 addq $17,64,$2
33 nop
34
35 stq $31,24($16)
36 stq $31,32($16)
37 cmovgt $1,$2,$17
38 nop
39
40 stq $31,40($16)
41 stq $31,48($16)
42 nop
43 nop
44
45 stq $31,56($16)
46 addq $16,64,$16
47 nop
48 bne $0,1b
49
50 ret
51 nop
52 nop
53 nop
54
55 .end clear_page
56 EXPORT_SYMBOL(clear_page)
57

source code of linux/arch/alpha/lib/ev6-clear_page.S