Hi, Several people have raised the possibility of replacing the coreboot BIOS emulation for option roms with SeaBIOS.
My original goal with SeaBIOS was to make it a payload that was capable of booting the system. However, I can understand the desire to leave coreboot as it is and add a little bit of bios emulation so that option roms work. It may also be useful to have some minimal support for simple calls from the payload. (For an example of a payload use - see the recent thread on Linux failing due to EBDA not being initialized.) On that note, I spent a few minutes to see how much I could strip down seabios to make it as small as possible. If I turn off everything besides basic coreboot support, I can get the lzma compressed rom down to 5695 bytes. Note that this still includes e820 map support, timer support, acpi/mptable/pir table relocation, and many other basic bios features. It's probably a good idea to turn on pcibios support as option roms tend to want this (rom then totals 6113 bytes). Also keyboard support might be useful to some payloads (total 8131 bytes). So, I can see a mode where coreboot would lzma uncompress a minimal seabios into 0xf0000, call into seabios, seabios would then init itself and return to coreboot. Then coreboot would finish initialization and launch the payload from flash. I can see where the above would be useful if the payload is always coming out of flash. However, if the user ever needs to boot using seabios (or via a scsi/pxe option rom) then I think seabios needs to be the payload and needs to drive the bootup. If there is interest in doing this, we'll need to figure out how to work out the interactions. Zhang Rui is currently working on having seabios return to coreboot. As for code integration - I'd like to avoid forking the seabios code. Perhaps it would be okay to simply copy a seabios binary into the svn repo with directions on how to build it manually. (This is what qemu and bochs do for their bios blobs.) Thoughts? -Kevin -- coreboot mailing list [email protected] http://www.coreboot.org/mailman/listinfo/coreboot

