This is the redo of the "multi-platform support" patch I sent previously.
This patch series is less ambitious than the previous - SeaBIOS can't be compiled for multiple platforms (eg, QEMU, CSM, coreboot) at the same time. However, this series still contains all the CONFIG_X reorganization and it will ensure that virtual devices aren't accessed when not on real hardware when using CONFIG_CSM. This series also enables the possibility of using some virtual devices under coreboot and CSM when it is safe to do so (and CONFIG_QEMU_HARDWARE is selected).
I have also placed this code for testing at: https://github.com/KevinOConnor/seabios/tree/test-20130209
-Kevin
Kevin O'Connor (6): Determine century during init and store in VARLOW mem during runtime. No need to check both CONFIG_THREADS and CONFIG_THREAD_OPTIONROMS. Add runningOnQEMU() and runningOnXEN() ror runtime platform detection. Consistently use CONFIG_COREBOOT, CONFIG_QEMU, and runningOnXen(). Convert kvm_para_available() to runningOnKVM(). Minor - move definitions to paravirt.c from paravirt.h.
src/Kconfig | 24 ++++++++++++++------- src/apm.c | 3 ++- src/ata.c | 2 +- src/block.c | 2 +- src/blockcmd.c | 2 +- src/boot.c | 4 ++-- src/clock.c | 26 +++++++++++++--------- src/coreboot.c | 8 +++---- src/esp-scsi.c | 3 ++- src/floppy.c | 14 ++++++------ src/lsi-scsi.c | 3 ++- src/misc.c | 2 ++ src/mtrr.c | 4 ++-- src/optionroms.c | 2 +- src/output.c | 3 ++- src/paravirt.c | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++----- src/paravirt.h | 59 +++++++++++++++----------------------------------- src/pciinit.c | 4 ++-- src/post.c | 8 +++---- src/ramdisk.c | 2 +- src/resume.c | 6 +----- src/shadow.c | 12 +++++++---- src/smm.c | 9 ++------ src/smp.c | 8 +++---- src/stacks.c | 10 ++++----- src/virtio-blk.c | 4 ++-- src/virtio-scsi.c | 2 +- src/xen.c | 9 +++++--- src/xen.h | 11 ---------- 29 files changed, 172 insertions(+), 138 deletions(-)