COMPAQ & OTHER BOOT FIX
authorFrank Maclachlan <fpm@crash.cts.com>
Fri, 22 Jan 1993 00:00:00 +0000 (00:00 +0000)
committerFrank Maclachlan <fpm@crash.cts.com>
Fri, 22 Jan 1993 00:00:00 +0000 (00:00 +0000)
commit4fbbfaa952fdf7c3966edcac28186528c45aade3
tree2d8dbbc46fecf9ee596c7644f7f56cae04d29a95
parentd6b1355873a0384c5d4cdbe398dc7eb67f4575ce
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
usr/src/sys.386bsd/i386/stand/fdbootblk.c