COMPAQ & OTHER BOOT FIX
The relevant code from the stage 1 floppy boot,
'/sys/i386/stand/fdbootblk.c', is polling for an interrupt from the
floppy disk controller on interrupt level 6 (line 251). The problem, I
think, is in line 179 wo enable interrupts *only* from the floppy
controller.
Also, Akihiro Higashi, in article
<1992Sep11.051554.29192@mlab.nttdocomo.co.jp>, reported that he had to
change 3rd & 4th "NOP"s to "JMP .+2"s on his COMPAQ 486/50L. 'NOP' is a
delay macro which alters the AL register. The specific change is 3rd & 4th
"NOP"s to "JMP .+2"s on his COMPAQ 486/50L. 'NOP' is a delay macro which
alters the AL register. The specific instances mentioned involve code
resetting the DMA controller's first/last flip-flop and then programming
the DMA controller's mode register. The initialization byte for the mode
register is clobbered by a NOP (I am amazed that the boot works on most
systems!). This can be fixed by rearranging the code slightly.
AUTHOR: Frank MacLachlan (fpm@crash.cts.com)
386BSD-Patchkit: patch00073