Myles Watson wrote:
Legacybios is the Bochs BIOS ported to compile on gcc instead of with the dev86 tools. Kevin's intent (I'm paraphrasing) was to make it easy to update the BIOS so that more developers would be able to fix/improve it. He hoped that the ability to boot operating systems with BIOS callbacks would make Coreboot more popular as well.
Is it tested and reliable in depth anywhere close to Qemu/Bochs BIOS? Or are we exchanging a fragile piece of code with a fragile and untested one? The latest legacybios (0.2.0) was very bochs/qemu dependent, ie. it expected ram size reported in cmos instead of reading lbtable. We should definitely have a #define COMPILE_FOR_COREBOOT in either legacybios or bochs/qemu bios.
I am all for using legacybios with coreboot, and we should not only use it for ADLO but also for our vga init code (which implements half a legacy bios, too) And for loading blocks from SCSI controllers with int13.
Lets clean this up once and forever.
I am copying Zhang Rui on this mail. He is the guy who is going to work on booting from SCSI (or, more generically int13 callback based boot devices) for our GSoC project.
ADLO in v2 is based on a very old version of Bochs' BIOS that has many timing problems (e.g., small loops that were supposed to wait until the CD spun up.) The new Bochs BIOS as compiled with dev86 is 128K, while Kevin's version is 64K. After compression with lzma this makes it very attractive for a fallback payload to be able to boot from a rescue CD.
ADLO itself is just the assembler loader. It is not at all based on any legacy bios. Last years GSoC used ADLO with the latest BOCHS bios to boot more flavours of windows