diff --git a/sys/boot/i386/pxeldr/pxeldr.S b/sys/boot/i386/pxeldr/pxeldr.S index 65bc160..121984c 100644 --- a/sys/boot/i386/pxeldr/pxeldr.S +++ b/sys/boot/i386/pxeldr/pxeldr.S @@ -240,7 +240,10 @@ seta20.1: inc %cx # Increment, overflow? jnz seta20.1 # Yes movb $0xd1,%al # Command: Write outb %al,$0x64 # output port -seta20.2: inb $0x64,%al # Get status + xor %cx,%cx # Clear +seta20.2: inc %cx # Increment, overflow? + jz seta20.3 # Yes + inb $0x64,%al # Get status testb $0x2,%al # Busy? jnz seta20.2 # Yes movb $0xdf,%al # Enable