[SeaBIOS] [PATCH] Add config option (CONFIG_BOOTORDER) to disable bootorder support.

Kevin O'Connor kevin at koconnor.net
Wed May 11 04:09:42 CEST 2011


---
 src/Kconfig |    7 +++++++
 src/boot.c  |   15 +++++++++++++++
 2 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/src/Kconfig b/src/Kconfig
index 3133d88..0da69e6 100644
--- a/src/Kconfig
+++ b/src/Kconfig
@@ -51,6 +51,13 @@ menu "General Features"
         default y
         help
             Support showing a graphical boot splash screen.
+    config BOOTORDER
+        depends on BOOT
+        bool "Boot ordering"
+        default y
+        help
+            Support controlling of the boot order via the fw_cfg/CBFS
+            "bootorder" file.
 
     config COREBOOT_FLASH
         depends on COREBOOT
diff --git a/src/boot.c b/src/boot.c
index 1cd4126..9a67916 100644
--- a/src/boot.c
+++ b/src/boot.c
@@ -26,6 +26,9 @@ static int BootorderCount;
 static void
 loadBootOrder(void)
 {
+    if (!CONFIG_BOOTORDER)
+        return;
+
     char *f = romfile_loadfile("bootorder", NULL);
     if (!f)
         return;
@@ -121,6 +124,8 @@ build_pci_path(char *buf, int max, const char *devname, int bdf)
 
 int bootprio_find_pci_device(int bdf)
 {
+    if (!CONFIG_BOOTORDER)
+        return -1;
     // Find pci device - for example: /pci at i0cf8/ethernet at 5
     char desc[256];
     build_pci_path(desc, sizeof(desc), "*", bdf);
@@ -129,6 +134,8 @@ int bootprio_find_pci_device(int bdf)
 
 int bootprio_find_ata_device(int bdf, int chanid, int slave)
 {
+    if (!CONFIG_BOOTORDER)
+        return -1;
     if (bdf == -1)
         // support only pci machine for now
         return -1;
@@ -141,6 +148,8 @@ int bootprio_find_ata_device(int bdf, int chanid, int slave)
 
 int bootprio_find_fdc_device(int bdf, int port, int fdid)
 {
+    if (!CONFIG_BOOTORDER)
+        return -1;
     if (bdf == -1)
         // support only pci machine for now
         return -1;
@@ -153,6 +162,8 @@ int bootprio_find_fdc_device(int bdf, int port, int fdid)
 
 int bootprio_find_pci_rom(int bdf, int instance)
 {
+    if (!CONFIG_BOOTORDER)
+        return -1;
     // Find pci rom - for example: /pci at i0cf8/scsi at 3:rom2
     char desc[256], *p;
     p = build_pci_path(desc, sizeof(desc), "*", bdf);
@@ -163,6 +174,8 @@ int bootprio_find_pci_rom(int bdf, int instance)
 
 int bootprio_find_named_rom(const char *name, int instance)
 {
+    if (!CONFIG_BOOTORDER)
+        return -1;
     // Find named rom - for example: /rom at genroms/linuxboot.bin
     char desc[256], *p;
     p = desc + snprintf(desc, sizeof(desc), "/rom@%s", name);
@@ -173,6 +186,8 @@ int bootprio_find_named_rom(const char *name, int instance)
 
 int bootprio_find_usb(int bdf, u64 path)
 {
+    if (!CONFIG_BOOTORDER)
+        return -1;
     // Find usb - for example: /pci at i0cf8/usb at 1,2/hub at 1/network at 0/ethernet at 0
     int i;
     char desc[256], *p;
-- 
1.7.4.4




More information about the SeaBIOS mailing list