]> git.lizzy.rs Git - plan9front.git/blob - sys/src/boot/pc/e820.s
merge
[plan9front.git] / sys / src / boot / pc / e820.s
1 #include "x16.h"
2 #include "mem.h"
3
4 TEXT e820(SB), $0
5         MOVL bx+4(SP), BX
6         MOVL p+8(SP), DI
7         MOVL $0xE820, AX
8         MOVL $0x534D4150, DX
9         CALL rmode16(SB)
10         LWI(24, rCX)
11         BIOSCALL(0x15)
12         JC _bad
13         CALL16(pmode32(SB))
14         CMPB CL, $24
15         JZ _ret
16         MOVL $1, AX
17         MOVL p+8(SP), DI
18         MOVL AX, 20(DI)
19 _ret:
20         MOVL BX, AX
21         RET
22 _bad:
23         CALL16(pmode32(SB))
24         XORL AX, AX
25         MOVL p+8(SP), DI
26         MOVL AX, 0(DI)
27         MOVL AX, 4(DI)
28         MOVL AX, 8(DI)
29         MOVL AX, 12(DI)
30         MOVL AX, 16(DI)
31         MOVL AX, 20(DI)
32         RET