o Fix the keyboard probe to properly wait for the ready bit before
sending a command to the keyboard controller. This should avoid the
problems some people are experiencing where the boot blocks hang the
system during keyboard probe. (It does solve it for me.)
o Fix a bug that effectively prevented the boot blocks from ever
passing control to the serial console. [while(--retries) instead of
while(retries--)]
o Gratuitously reduced the keyboard probe timeout from 500 to 5
seconds. :)
o Introduced a new option ``FORCE_COMCONSOLE'' as a commented-out
example in the Makefile, to force the usage of a serial console
regardless of a keyboard being connected or not.
o Moved all external declarations to boot.h, declared all functions
there, and ANSIfied all function declarations/definitions.
(printf() remains bogus, however -- i'm too lazy to fix this.)
We're in the ninetees, dunno why we should still support compilers
from the 70's.
Install the biosboot as /usr/mdec/boot[12]
Make the traditional links from [swf]dboot and boot[swf]d to boot[12] files.
Install dosboot as /usr/mdec/boot/fbsdboot.exe
Obtained from:
bios boot block changed to allow booting from both the attached graphics
display and from a serial port. (A specially compiled serial boot block
is no longer necessary.) The boot block should detect the presence or
absence of a keyboard: if there is no keyboard, COM1 is turned into the
console. This simulates the behavior of the Sun boot PROMs. Unplug your
keyboard, attach a terminal to COM1 and you should be ready to go. :)
been relocated to run in the 64k segment at 0x10000 with the stack at
the top of this segment. This corrects the problems machines with 512K
base memory had booting.
2. startprog routing rewritten to convert the BOOTSEG ss to a KERNELSEG
ss, this eliminated the last of the >512K memory references. Additional
cleanup in here included a better way to copy the arguments to the
kernel stack.
3. Elimination of argv and esym cruft saved a few bytes.
4. Only need to truncate the head.a_entry to a meg boundary once intead
of every time we used it! [Saving more bytes].
5. Addition of version 1 bootinfo structure support. These boot blocks
pass the kernel name in to the kernel now.
6. Removed historical comments about MACH argv stuff, as it is useless now.
2. Clean up the .S files to use /* */ style comments.
This is a totally cosmetic change, not one byte of the resulting boot
code changes. But at least it is installed with correct owners and in
the right places, and gets recompiled correctly when things change!
is used instead of /usr/lib
io.c: add #include <machine/cpufunc.h> as instructed by David Greenman to
avoid inb/outb linking errors.
NOTE: I just discovered that if GNUC is not used the inline functions will not be expanded from the include file and real inb/outb functions would
be needed.
1) Fixed up some header locations
2) Replaced list of boot files with /kernel
3) Changed disklabel use in Makefile to conform to 4.4
4) Added size command in Makefile to get close estimate of bootblock
sizes. Total size of text and data must be below 64K, slightly
overestimated since a.out header subsequently gets stripped.
5) Various buffer sizes are set to 8192 bytes in sys.c. In 4.4 MAXBSIZE
is set to 64K which is too big for the bootblocks to deal with.
Submitted by: Paul Richards