Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
1da177e4 LT |
2 | /* |
3 | * arch/alpha/lib/ev6-clear_page.S | |
4 | * | |
5 | * Zero an entire page. | |
6 | */ | |
00fc0e0d | 7 | #include <asm/export.h> |
1da177e4 LT |
8 | .text |
9 | .align 4 | |
10 | .global clear_page | |
11 | .ent clear_page | |
12 | clear_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 | ||
25 | 1: 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 | |
00fc0e0d | 56 | EXPORT_SYMBOL(clear_page) |