written by Alfred Perlstein, Paul Saab, John Baldwin for FreeBSD.
Still needs some work, but this will load a kernel on a Soekris net4501.
Many thanks to Frank van der Linden and his simulator wizardry for
helping me debug the low-level startup code.
in preparation for future mvmeppc and mvme88k ports.
This needs a bit if tidying up to make it trully shareable, which will
happen as the new mvme ports are added.
MACHINE_ARCH since <arm/param.h> already sets it correctly to "arm".
* For platforms which are not yet ELF, defined MACHINE_ARCH to "arm32"
if __ELF__ is not defined by the C preprocessor.
* In <arm/param.h>, clarify the rules about when MACHINE and
MACHINE_ARCH are defined, and to what. Also, for ELF platforms,
int the non-_KERNEL case, force both MACHINE and MACHINE_ARCH to "arm",
rather than allowing platform-specifc code to define either.
* COPTS get -Os
* Comment out all COMPAT_* options
* Comment out System V IPC options
* Comment out KTRACE, IRQSTATS, KMEMSTATS, DIAGNOSTIC
* Comment out unneeded devices (audio, joystick, vnd, sequencer)
...and bump the ramdisk size to 3.5M (ELF binaries are somewhat
larger on-disk due to the way the linker pads out the .data program
section).
cannot be used to mask them off for deferred processing as autoconfiguration
hasn't even started and thus the IPL_HIGH mask hasn't been calculated yet.
Instead, set the current mask manually to all-masked using splraise().
bootloader that also allows ELF symbols to be read correctly as well as
still having the posibility to boot older kernels with the `oldkernel'
option.
There is now support for upto 32 blocks of DRAM and a 16 blocks of VRAM.
Also preliminary support for specifying Mode Defintion Files (MDF) to the
kernel.
means that kernels from now on are not bootable by !BtRiscBSD but only with
!BtNetBSD.
Big initial commit for a new cleaned up and extended bootblock style. This
patch also allows ELF symbol tables to be read when the patches on the
bootloader are commit but will work fine with the older bootloader.
An extra option `oldkernel' will be provided in the newer bootloader to
pass out old style bootconfig's thus enabling old style kernels to load and
function.
Tested on a.out and ELF (preliminary) kernels with both older and new style
bootconfig blocks.