Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /* |
2 | * arch/alpha/lib/copy_page.S | ||||
3 | * | ||||
4 | * Copy an entire page. | ||||
5 | */ | ||||
Al Viro | 00fc0e0 | 2016-01-11 09:51:29 -0500 | [diff] [blame] | 6 | #include <asm/export.h> |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 7 | .text |
8 | .align 4 | ||||
9 | .global copy_page | ||||
10 | .ent copy_page | ||||
11 | copy_page: | ||||
12 | .prologue 0 | ||||
13 | |||||
14 | lda $18,128 | ||||
15 | nop | ||||
16 | unop | ||||
17 | nop | ||||
18 | |||||
19 | 1: ldq $0,0($17) | ||||
20 | ldq $1,8($17) | ||||
21 | ldq $2,16($17) | ||||
22 | ldq $3,24($17) | ||||
23 | |||||
24 | ldq $4,32($17) | ||||
25 | ldq $5,40($17) | ||||
26 | ldq $6,48($17) | ||||
27 | ldq $7,56($17) | ||||
28 | |||||
29 | stq $0,0($16) | ||||
30 | subq $18,1,$18 | ||||
31 | stq $1,8($16) | ||||
32 | addq $17,64,$17 | ||||
33 | |||||
34 | stq $2,16($16) | ||||
35 | stq $3,24($16) | ||||
36 | stq $4,32($16) | ||||
37 | stq $5,40($16) | ||||
38 | |||||
39 | stq $6,48($16) | ||||
40 | stq $7,56($16) | ||||
41 | addq $16,64,$16 | ||||
42 | bne $18, 1b | ||||
43 | |||||
44 | ret | ||||
45 | nop | ||||
46 | unop | ||||
47 | nop | ||||
48 | |||||
49 | .end copy_page | ||||
Al Viro | 00fc0e0 | 2016-01-11 09:51:29 -0500 | [diff] [blame] | 50 | EXPORT_SYMBOL(copy_page) |