diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2011-05-10 22:08:30 -0400 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2011-05-10 22:08:30 -0400 |
commit | 49bf57b87238ac964ac2ae527b74a7086132e27a (patch) | |
tree | 6392471e7a43ab2229de29837c628894e91647dd | |
parent | 9ead6fc588b783e10fa98ee4d989630be998b4a8 (diff) | |
download | seabios-49bf57b87238ac964ac2ae527b74a7086132e27a.tar.gz |
Add config option (CONFIG_BOOTORDER) to disable bootorder support.
-rw-r--r-- | src/Kconfig | 7 | ||||
-rw-r--r-- | 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 @@ -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@i0cf8/ethernet@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@i0cf8/scsi@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@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@i0cf8/usb@1,2/hub@1/network@0/ethernet@0 int i; char desc[256], *p; |