Boot1 tries to clear boot2's BSS. It makes several assumptions that are
authorMatthew Dillon <dillon@dragonflybsd.org>
Tue, 27 Jul 2004 19:37:19 +0000 (19:37 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Tue, 27 Jul 2004 19:37:19 +0000 (19:37 +0000)
commit4e06dda7089acf7e39db9e4adb68678216dddd42
tree7a70f78cbce0eba944c4d6669c3ee6a7a56998de
parentca089a8164b03cafc5738f0cf2c1e584d1711f9b
Boot1 tries to clear boot2's BSS.  It makes several assumptions that are
incorrect (or incorrect now), and doesn't really know how much BSS to clear
anyway.  Remove the BSS clearing code from boot1 and add BSS clearing code
to the boot2 (in particular, /usr/src/sys/boot/i386/btx/lib/btxcsu.S).

This should solve numerous issues including boot2 getting confused about
the default boot device file path.

Collapse some boot2 code to make it fit again.

Move the BOOT2 virtual origin (relative to the BTX client address space)
into bootasm.h, replace an undocumented hardwired BOOT2 origin calculation
(that was SIZ_PAG*2) with BOOT2_VORIGIN.   Replace the hardwired ORG2
constant in boot2's Makefile with code to pull BOOT2_VORIGIN out of the
header file.
12 files changed:
sys/boot/i386/boot2/Makefile
sys/boot/i386/boot2/boot1.S
sys/boot/i386/boot2/boot2.c
sys/boot/i386/bootasm.h
sys/boot/i386/bootasmdef.c
sys/boot/i386/btx/lib/btxcsu.S
sys/boot/pc32/boot2/Makefile
sys/boot/pc32/boot2/boot1.S
sys/boot/pc32/boot2/boot2.c
sys/boot/pc32/bootasm.h
sys/boot/pc32/bootasmdef.c
sys/boot/pc32/btx/lib/btxcsu.S