backported fixes from 256boss:
authorJohn Tsiombikas <nuclear@member.fsf.org>
Sat, 25 May 2019 20:36:30 +0000 (23:36 +0300)
committerJohn Tsiombikas <nuclear@member.fsf.org>
Sat, 25 May 2019 20:36:30 +0000 (23:36 +0300)
commite253f9a0cad14f636a51f6211308491ab19dfbe5
treef8584f10785c1fb472cdee1b64fc385a271bf43d
parent6ddbba6fc0185f6aaf64c661c303549eb088010f
backported fixes from 256boss:
 - moved early serial console from 1st to 2nd stage loader, to leave
   space for the partition table if needed.
 - saving boot_drive_number for later use.
 - fixed floppy motor turnoff after 2nd stage loader is done.
 - saving of carry flag before returning from int86.
 - added functions in intr.h/intr.c to manipulate the PIC IRQ masks.
 - restoring irq masks after returning from int86.
 - keyboard controller voodoo: do a single read after returning from
   int86 to clear any pending inputs that would otherwise clog the
   buffer and we'd never get an interrupt again from the keyboard.
src/boot/boot.s
src/boot/boot2.s
src/intr.c
src/intr.h