This patch series enables SeaBIOS to be compiled for multiple platforms (eg, CSM, QEMU, Coreboot) at the same time. This is useful for cases where SeaBIOS is running under coreboot which is running under QEMU, for example.
This series is an RFC - some things are not ideal. For example, if CSM or COREBOOT is enabled then CONFIG_DEBUG_IO is automatically disabled (even if ultimately the image is run directly under QEMU). Also, some features of QEMU wont be available when SeaBIOS is launched from CSM/coreboot, even if it is ultimately running under QEMU.
Kevin O'Connor (5): POST: Consolidate platform preinit() calls. Introduce framework for detecting what platform SeaBIOS is running on. Convert common compile time checks to started/runningOnX() checks. Determine century during init and store in VARLOW mem during runtime. Enable simultaneous multi-platform support in Kconfig.
src/Kconfig | 23 ++++++-------- src/ata.c | 3 +- src/block.c | 3 +- src/blockcmd.c | 2 +- src/boot.c | 10 +++--- src/clock.c | 26 +++++++++------ src/coreboot.c | 17 +++++++--- src/csm.c | 2 ++ src/esp-scsi.c | 3 +- src/floppy.c | 3 +- src/lsi-scsi.c | 3 +- src/mtrr.c | 4 +-- src/optionroms.c | 3 +- src/paravirt.c | 24 ++++++++++---- src/paravirt.h | 95 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- src/pciinit.c | 4 +-- src/post.c | 53 +++++++++++++++---------------- src/ramdisk.c | 2 +- src/resume.c | 6 +--- src/shadow.c | 12 ++++--- src/smm.c | 10 ++---- src/smp.c | 4 +-- src/virtio-blk.c | 4 +-- src/virtio-scsi.c | 2 +- src/xen.c | 67 +++++++++++++++++++++------------------ src/xen.h | 7 ---- 26 files changed, 253 insertions(+), 139 deletions(-)