- cleanup the w83627hf header, and function names
- rename power_led to w83627hf_power_led
- rename w832627hf_power_after_power_fail to w83627hf_power_after_power_fail
- smbus_read_block != smbus_read_byte
- Update build_opt_tble to handle checksum entries
----------------------------------------------------------------------
- Add myself
src/cpu/p5/delay_tsc.c
- Fix the indentation
- Don't have the new calibrate_tsc function directly
update global variables.
src/include/smp/start_stop.h
- Change #ifdef SMP to #if SMP == 1
src/include/string.h
- Declare sprintf
src/lib/elfboot.c
- Minor fixes to verify_loaded_image
- Change all of the new debugging messages to printk_spew
src/lib/inflate.c
- Remove sensless warning message fixes
src/lib/linuxpci.c
- move declaration of sprintf to string.h
- Better detection of read only bars in pci_get_resource
- Remove pci_noop
- Remove warning about set_pci_dev_ops not being finished
src/lib/src.c
- change #ifdef SERIAL_POST to #if SERIAL_POST in post_code
- Support for remember our compile time environment
- Simple and always correct version of compute_ip_checksum
- Improve message strings in crt0.base
- Initial support for > 2G ram.
- Sizeram now returns a list of valid ranges of ram
- pci resource allocation now starts at 0xC0000000
- Update sizeram for every northbridge
- Misc cleanups.
- Motherboard identification in the linuxbios table.
- Better SMP startup code.
- Support for the tyan s2462, the supermicro p4dc6, the supermicro p4dc6+, and the beginnings of supermicro p4dpr support
- Remove of no longer needed USE_AMD_NDA option
- Workaround cmos tables overlapping the traditional bios data segment
- Fixes to the p4dc6 examples to be syntactically correct
- Fixes to NLBConfig to fix the previos syntax error ``option foo bar'' is invalid
- Update docmil_fil_inbuf to only be compiled when the appropriate options are set
- Updates NLBConfig.py to export the variables MAINBOARD && TARGET_DIR
as well as correct specify the generated files
- small bug fixes to the elf bootloader
- factor the elf bootloader into focused smal subroutines that are easier to comprehend
and maintain
- Implement support for PT_NOTE headers and parsing ELF notes if we need special functionality
An ELF Image should never need an ELF loader to interpret an ELF to work correctly, making
interpretation of all ELF notes optional.
- Implement support for notes giving PROGRAM_NAME, PROGRAM_VERSION, and PROGRAM_CHECKSUM
Highlights:
- elfboot.c Now can load images to the ram location where linuxBIOS is running
- Added the standalone directory for bootloaders built from the linuxBIOS source
Other things:
- Correctly maode fallback_boot.c conditional
- Added entry32.lds to do the math for segment descriptor table entries
- Merged ldscript.cacheram and ldscript.base
- Moved assembly code to the sections .rom.text and .rom.data
- Modified linuxBIOS so C code completely runs from RAM as the SiS630
case does
- Updated and commented example config files for the supermicro p4dc6
- Bumped the elfboot loader version to 1.0
- Removed extra carriage returns in dump_northbridge.inc (DOS->UNIX)
- General cleanups to the config of the supermicro p4dc6
- Implement payload so it attempts no processing of the image (I can now use it for ELF images!)
- Implement linux so it does what it has always done (but is now distinct from payload)
- Implement the new expr command so I can compute values (I got inspired)
- Micro fix to rom_fill_inbuf.c so we don't get back too many bytes (Thanks Ron)
- Fix for fallback_boot.c so it is always available. Otherwise I can't say my boot succeeded.
- Added example config scripts for the p4dc6
uniform_boot work, but relocated. You need the new mkelfImage to
use the elf boot format.
Previous tables were updated so I could find both the start and
the end of where they were written in memory.
Minor p4dc6 updates, to disable some debugging code.
The mkelfImage-1.9 is checked in as util/mkelfImage
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.
- Code to initialize sdram from C on the l440gx
- cache as ram code fro the p6 it works except conflict misses occur
with addresses that are not cached so writing to ram does not work.
Which makes it to brittle to count on.
- Initial implementation of a fallback booting scheme where we can
have two copies of linuxbios in rom at once.
- Movement of 32 bit entry code from entry16.inc to entry32.inc
- Update of all config files so they now also include entry32.inc
- Fix for start_stop.c & entry16.inc so I can fairly arbitrarily relocate
the 16bit entry code in SMP.
- A small number of fixes for warnings
- VIA 686 cleanups from the A7M code (it now works in a different pci slot).
- Update of assembly printing routines to use the debug levels:
TTYS0_TX_CHAR now becomes CONSOLE_<LEVEL>_TX_CHAR.
It's more verbose but now the controls are the same as with the C code.
- Break off of loglevel.h from printk.h. loglevel.h is safe for both
the assembly routines and the C code to include.
- Next round of commits for the supermicro p4dc6
- SMP setup updates (Rons board is broken)
I now allow the other SMP processors to report their existence.
I really need to add a minimum time to run but that hasn't happened yet.
- SMP per motherboard table of apicids, as the assumption that they
would always be 0 & 1 with only two cpus fails.
- RDRAM setup updates. The code isn't done but it now works on more
than one board at a time.
- More cacheram work. Minor bug fixes and some macros to use it from C.
- Entry point changes so we no longer have to jump over our gdt.
- Added/Audited the cpufixup for the i786
- IDE intialization for the 82801 ich2 chip.
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).
Add rule for ldscript.ld
printk.h
Fix typo it should be printk_alert not printk_alart...
NLBConfig.py
- Removed some dead code
- Modified mainboardinit and ldscript to act like my recently modified
object command and take as a suffix a config option that must be
set to one for them to work.
- No longer generate ldscript.ld instead generate ldoptions and
the variable LDSUBSCRIPTS-1.
make.base -- renamed OBJECTS to OBJECTS-1 to allow conditional compilation of objects
ldscript.base -- realized that assignemnts to the location counter inside of sections
are relative to their start so simplfied the code
pirq_routing.h -- includeded types.h so we don't have suprises
hardwaremain.c -- unconditionally included arch/smp/mpsec.h
arch/i386/smp/Config introduced conitional on the compilation objects into
the compilation process
ioapic.c -- removed (now) unneeded ifdef around this file
mpsec.c -- removed (now) unneeded ifdef around this file
cpu/cpufixup.h -- Fix typo in the case when no cpufixup is needed.
parts/framebuffer.h -- Added a missing semicolon.
smp/atomic.h -- renamed second atmoic_inc to atomic_dec oops.
tyan/guinnes/Config -- reordered the options so they are grouped a little
better and said mptable.o is dependent on HAVE_MP_TABLE
tyan/guiness/mainboard.c -- small change for clarity.
northsouthbridge/sis/630/northbridge.c
northsouthbridge/sis/630/southbridge.c
-- Remove unused include of the now dead param.h
NLBConfig.py
-- Only include numeric options in the linker script
-- Update to handle adding a condition for when to build
objects
boot.c -- Modified to compile even with -fPIC
generic_sdram.inc -- split out generic_sdram_enable.inc -- Some chipsets
don't need that enable logic.
Added serial_fill_inbuf.c
Removed unused 440gx/param.h sis/630/param.h
Modified: make.base crt0.base ldscript.base mainboard/Config and NLBConfig.py
In NLBConfig.py added the directive mainboardinit (a variant of raminit.inc)
This allows us to remove hardcodes in crt0.S updated every mainboard/Config to
reflect the current state of the hardcodes, and the split of generic_sdram.inc
In crt0.S we should have the bare minimum code in assembly needed to get to C code.
mkrom is no longer needed.