]> git.lizzy.rs Git - plan9front.git/blobdiff - sys/src/boot/pc/e820.s
9boot: replace strrchr() call with a loop and strchr() for ignoring bang path prefixes
[plan9front.git] / sys / src / boot / pc / e820.s
index c830a64e68468db6d3aeac58b178bc451fa6071a..370861c9f322e15e97703123b3b86365164676dd 100644 (file)
@@ -4,17 +4,29 @@
 TEXT e820(SB), $0
        MOVL bx+4(SP), BX
        MOVL p+8(SP), DI
-
-       MOVL $0xe820, AX
+       MOVL $0xE820, AX
        MOVL $0x534D4150, DX
        CALL rmode16(SB)
        LWI(24, rCX)
        BIOSCALL(0x15)
        JC _bad
        CALL16(pmode32(SB))
+       CMPB CL, $24
+       JZ _ret
+       MOVL $1, AX
+       MOVL p+8(SP), DI
+       MOVL AX, 20(DI)
+_ret:
        MOVL BX, AX
        RET
 _bad:
        CALL16(pmode32(SB))
        XORL AX, AX
+       MOVL p+8(SP), DI
+       MOVL AX, 0(DI)
+       MOVL AX, 4(DI)
+       MOVL AX, 8(DI)
+       MOVL AX, 12(DI)
+       MOVL AX, 16(DI)
+       MOVL AX, 20(DI)
        RET