mirror of
https://git.savannah.gnu.org/git/grub.git
synced 2026-10-28 18:19:23 +00:00
Recommit my work on alpha
This commit is contained in:
1 parent
c6dc6fa175
commit
85872c8373
31 files changed
+1401
-10
No files matched your search
@@ -0,0 +1,114 @@
|
||||
|
||||
#include <grub/symbol.h>
|
||||
|
||||
.set noat
|
||||
|
||||
.macro PREAMBLE
|
||||
|
||||
subq $30, 31 * 8, $30
|
||||
stq $0, (0 * 8)($30)
|
||||
stq $1, (1 * 8)($30)
|
||||
stq $2, (2 * 8)($30)
|
||||
stq $3, (3 * 8)($30)
|
||||
stq $4, (4 * 8)($30)
|
||||
stq $5, (5 * 8)($30)
|
||||
stq $6, (6 * 8)($30)
|
||||
stq $7, (7 * 8)($30)
|
||||
stq $8, (8 * 8)($30)
|
||||
stq $9, (9 * 8)($30)
|
||||
stq $10, (10 * 8)($30)
|
||||
stq $11, (11 * 8)($30)
|
||||
stq $12, (12 * 8)($30)
|
||||
stq $13, (13 * 8)($30)
|
||||
stq $14, (14 * 8)($30)
|
||||
stq $15, (15 * 8)($30)
|
||||
stq $16, (16 * 8)($30)
|
||||
stq $17, (17 * 8)($30)
|
||||
stq $18, (18 * 8)($30)
|
||||
stq $19, (19 * 8)($30)
|
||||
stq $20, (20 * 8)($30)
|
||||
stq $21, (21 * 8)($30)
|
||||
stq $22, (22 * 8)($30)
|
||||
stq $23, (23 * 8)($30)
|
||||
stq $24, (24 * 8)($30)
|
||||
stq $25, (25 * 8)($30)
|
||||
stq $26, (26 * 8)($30)
|
||||
stq $28, (28 * 8)($30)
|
||||
stq $29, (29 * 8)($30)
|
||||
addq $30, (30 * 8), $18
|
||||
/* load GP. */
|
||||
br $27, 1f
|
||||
1: ldgp $29, 0($27)
|
||||
.endm
|
||||
|
||||
.macro POSTAMBLE
|
||||
ldq $0, (0 * 8)($30)
|
||||
ldq $1, (1 * 8)($30)
|
||||
ldq $2, (2 * 8)($30)
|
||||
ldq $3, (3 * 8)($30)
|
||||
ldq $4, (4 * 8)($30)
|
||||
ldq $5, (5 * 8)($30)
|
||||
ldq $6, (6 * 8)($30)
|
||||
ldq $7, (7 * 8)($30)
|
||||
ldq $8, (8 * 8)($30)
|
||||
ldq $9, (9 * 8)($30)
|
||||
ldq $10, (10 * 8)($30)
|
||||
ldq $11, (11 * 8)($30)
|
||||
ldq $12, (12 * 8)($30)
|
||||
ldq $13, (13 * 8)($30)
|
||||
ldq $14, (14 * 8)($30)
|
||||
ldq $15, (15 * 8)($30)
|
||||
ldq $16, (16 * 8)($30)
|
||||
ldq $17, (17 * 8)($30)
|
||||
ldq $18, (18 * 8)($30)
|
||||
ldq $19, (19 * 8)($30)
|
||||
ldq $20, (20 * 8)($30)
|
||||
ldq $21, (21 * 8)($30)
|
||||
ldq $22, (22 * 8)($30)
|
||||
ldq $23, (23 * 8)($30)
|
||||
ldq $24, (24 * 8)($30)
|
||||
ldq $25, (25 * 8)($30)
|
||||
ldq $26, (26 * 8)($30)
|
||||
ldq $28, (28 * 8)($30)
|
||||
ldq $29, (29 * 8)($30)
|
||||
addq $30, 31 * 8, $30
|
||||
ret $31,($23)
|
||||
.endm
|
||||
|
||||
FUNCTION (__divqu)
|
||||
PREAMBLE
|
||||
mov $24, $16
|
||||
mov $25, $17
|
||||
jsr $26, EXT_C (grub_divmod64)
|
||||
mov $0, $27
|
||||
POSTAMBLE
|
||||
|
||||
FUNCTION (__remqu)
|
||||
PREAMBLE
|
||||
mov $24, $16
|
||||
mov $25, $17
|
||||
jsr $26, EXT_C (grub_divmod64)
|
||||
ldq $27, (30 * 8)($30)
|
||||
POSTAMBLE
|
||||
|
||||
FUNCTION (__divlu)
|
||||
PREAMBLE
|
||||
sll $24, 32, $16
|
||||
sra $16, 32, $16
|
||||
sll $25, 32, $17
|
||||
sra $17, 32, $17
|
||||
mov $24, $16
|
||||
mov $25, $17
|
||||
jsr $26, EXT_C (grub_divmod64)
|
||||
mov $0, $27
|
||||
POSTAMBLE
|
||||
|
||||
FUNCTION (__remlu)
|
||||
PREAMBLE
|
||||
sll $24, 32, $16
|
||||
sra $16, 32, $16
|
||||
sll $25, 32, $17
|
||||
sra $17, 32, $17
|
||||
jsr $26, EXT_C (grub_divmod64)
|
||||
ldq $27, (30 * 8)($30)
|
||||
POSTAMBLE
|
||||
Reference in new issue
Block a user