diff --git a/ChangeLog b/ChangeLog index ea819205d..d3bf5b117 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2004-03-13 Yoshinori K. Okuji + + From Daniele Zelante : + * stage2/asm.S (stop_floppy): Use INT 13, AH=00h to stop the + floppy controller instead of a direct I/O. + 2004-03-12 Yoshinori K. Okuji * stage2/serial.c (serial_putchar): Handle the character code diff --git a/stage2/asm.S b/stage2/asm.S index fd5e50b9b..248490dd0 100644 --- a/stage2/asm.S +++ b/stage2/asm.S @@ -211,9 +211,14 @@ ENTRY(hard_stop) * jumped to with a known state. */ ENTRY(stop_floppy) - movw $0x3F2, %dx - xorb %al, %al - outb %al, %dx + call EXT_C(prot_to_real) + .code16 + pusha + xorb %dl, %dl + int $0x13 + popa + DATA32 call EXT_C(real_to_prot) + .code32 ret /*