Add a config option for fast device init (i.e. skip non-bootable
devices).  This optimization breaks boot in some rare configurations,
specifically in case the boot loader needs access to secondary disks.

Signed-off-by: Gerd Hoffmann <[email protected]>
---
 src/boot.c  |  2 ++
 src/Kconfig | 10 ++++++++++
 2 files changed, 12 insertions(+)

diff --git a/src/boot.c b/src/boot.c
index 1effd802ce06..771d2382e38f 100644
--- a/src/boot.c
+++ b/src/boot.c
@@ -299,6 +299,8 @@ u8 is_bootprio_strict(void)
 {
     static int prio_halt = -2;
 
+    if (!CONFIG_BOOT_FAST_INIT)
+        return 0;
     if (prio_halt == -2)
         prio_halt = find_prio("HALT");
     return prio_halt >= 0;
diff --git a/src/Kconfig b/src/Kconfig
index 3a8ffa15fded..6b750a41b42c 100644
--- a/src/Kconfig
+++ b/src/Kconfig
@@ -72,6 +72,16 @@ endchoice
         help
             Support controlling of the boot order via the fw_cfg/CBFS
             "bootorder" file.
+    config BOOT_FAST_INIT
+        depends on BOOTORDER
+        bool "Fast boot device init"
+        default y
+        help
+            Skip initialization for devices without bootindex.  Speeds
+            up boot and reduced memory footprint, but may cause boot
+            problems in case the bootloader needs access to secondary
+            disks.
+
     config HOST_BIOS_GEOMETRY
         depends on BOOT
         bool "Boot device bios geometry override"
-- 
2.30.2

_______________________________________________
SeaBIOS mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to