and a bunch of generic changes.
- Started playing with automatic scanning memory for LinuxBIOS tables.
- Converted the fill_inbuf drivers to stream drivers. This allows
for pure data copying operations to be faster, and it allows skipping
of unneeded data on platforms that support it.
- Added a section .rodata.streams for the stream driver control structures.
This is preparation for building a bootloader that shares source code
with LinuxBIOS.
- Added a driver command to NLBConfig.py for objects that should
always be linked into LinuxBIOS if they are compiled at all.
- Moved the boot_successful logic down into the guts of the
bootloaders.
- Modified the ip style checksum logic so it isn't specific to uniform
boot headers...
- Added a function ndelay that uses the RTC (this is i786 specific for now).
- Added a function to delay in seconds for the braindead harddrive
spinup logic.
- Added a floppy stream driver.
- Added a ide stream driver.
- Broke out the ram initialization for the p4dc6 into multiple c files.
- Stupidly adapted linuxbiosmain and do_inflate to the new stream
interface. get_byte is now a slow function call so it might be able
to use some optimization.
- Updated the ELF bootloader to the new stream interface and adding a
ELF header scanning function so we can boot off of harddrives and
not smash their partition tables.
- Removed some bogus unlook ahead code from inflate.c
- Fixed a problem where we did not enable I/O resources on VGA
compatible chips. This caused a trident card to lock up the system
when it's memory mapped resources were enabled.
- Correctly set up nested pci busses. Before this a pci bus behind a
pci bus would not get enabled.
- Config changes to the p4dc6
- Added more interrupt sources to the p4dc6 interrupt table
- Converted all of the inbuf drivers to stream drivers.
All have good conversions except the doc_millenium.
This also includes a bunch of my pending work including
- Updated serial code so we can compile in different serial port speeds
- Updates to the build system so that:
- Makefile.settings holds all of the settings of the config variables
- ldoptions and cpuflags are generated automatically with perl scripts
- src/config/Config holds all of the architecture neutral make file settings
- Initial work on the P4 including how to use cache as ram
- Update to the ioapic code for the P4 because it delivers irqs on the system
bus instead of an out of band bus
- Updated version of printf that doesn't need an intermediate buffer
- logbuf_subr now handles the case when we want to use a log buffer
- video_subr handles the preliminary code for writing to a video device.
- Pending changes for the L440GX are merged in as well (hopefully I haven't
messed then up since they were written).