[SeaBIOS] [PATCH 5/5] Enable simultaneous multi-platform support in Kconfig.

Kevin O'Connor kevin at koconnor.net
Fri Feb 8 06:10:10 CET 2013


Allow QEMU, Xen, CSM, and Coreboot to all be enabled (or any subset)
at the same time.

Signed-off-by: Kevin O'Connor <kevin at koconnor.net>
---
 src/Kconfig    | 23 ++++++++++-------------
 src/esp-scsi.c |  3 ++-
 src/lsi-scsi.c |  3 ++-
 3 files changed, 14 insertions(+), 15 deletions(-)

diff --git a/src/Kconfig b/src/Kconfig
index 55396c6..5b7b21a 100644
--- a/src/Kconfig
+++ b/src/Kconfig
@@ -4,28 +4,18 @@ mainmenu "SeaBIOS Configuration"
 
 menu "General Features"
 
-choice
-    prompt "Build Target"
-    default QEMU
-
     config COREBOOT
+        default n
         bool "Build for coreboot"
         help
             Configure as a coreboot payload.
 
     config QEMU
+        default y
         bool "Build for QEMU"
         help
             Configure as QEMU bios.
 
-    config CSM
-       bool "Build as Compatibilty Support Module for EFI BIOS"
-       help
-           Configure to be used by EFI firmware as Compatibility Support
-           module (CSM) to provide legacy BIOS services.
-
-endchoice
-
     config XEN
         depends on QEMU
         bool "Build for Xen HVM"
@@ -33,6 +23,13 @@ endchoice
         help
             Configure to be used by xen hvmloader, for a HVM guest.
 
+    config CSM
+        default n
+        bool "Build as Compatibilty Support Module for EFI BIOS"
+        help
+            Configure to be used by EFI firmware as Compatibility Support
+            module (CSM) to provide legacy BIOS services.
+
     config THREADS
         bool "Parallelize hardware init"
         default y
@@ -399,7 +396,7 @@ menu "Debugging"
             Base port for serial - generally 0x3f8, 0x2f8, 0x3e8, or 0x2e8.
 
     config DEBUG_IO
-        depends on QEMU && DEBUG_LEVEL != 0
+        depends on QEMU && !COREBOOT && !CSM && DEBUG_LEVEL != 0
         bool "Special IO port debugging"
         default y
         help
diff --git a/src/esp-scsi.c b/src/esp-scsi.c
index 4d1f7d2..f3c3423 100644
--- a/src/esp-scsi.c
+++ b/src/esp-scsi.c
@@ -19,6 +19,7 @@
 #include "boot.h" // bootprio_find_scsi_device
 #include "blockcmd.h" // scsi_drive_setup
 #include "disk.h"
+#include "paravirt.h" // runningOnQEMU()
 
 #define ESP_TCLO      0x00
 #define ESP_TCMID     0x04
@@ -218,7 +219,7 @@ void
 esp_scsi_setup(void)
 {
     ASSERT32FLAT();
-    if (!CONFIG_ESP_SCSI)
+    if (!CONFIG_ESP_SCSI || !runningOnQEMU())
         return;
 
     dprintf(3, "init esp\n");
diff --git a/src/lsi-scsi.c b/src/lsi-scsi.c
index 76e9d1d..707cb3f 100644
--- a/src/lsi-scsi.c
+++ b/src/lsi-scsi.c
@@ -19,6 +19,7 @@
 #include "boot.h" // bootprio_find_scsi_device
 #include "blockcmd.h" // scsi_drive_setup
 #include "disk.h"
+#include "paravirt.h" // runningOnQEMU()
 
 #define LSI_REG_DSTAT     0x0c
 #define LSI_REG_ISTAT0    0x14
@@ -197,7 +198,7 @@ void
 lsi_scsi_setup(void)
 {
     ASSERT32FLAT();
-    if (!CONFIG_LSI_SCSI)
+    if (!CONFIG_LSI_SCSI || !runningOnQEMU())
         return;
 
     dprintf(3, "init lsi53c895a\n");
-- 
1.7.11.7




More information about the SeaBIOS mailing list