summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Rudolph <siro@das-labor.org>2016-02-11 08:36:50 +0100
committerMartin Roth <martinroth@google.com>2016-02-16 22:44:04 +0100
commit647e34dbe547bcd7bb3990d138b5c6906ea935e8 (patch)
tree98de6c6cf922cd31e9ee5a811cd42701f8c40528
parent59de6c9c71582798a9e24bfe6373fc995ec495cd (diff)
downloadcoreboot-647e34dbe547bcd7bb3990d138b5c6906ea935e8.tar.xz
device/pci_rom: Rename missleading ON_DEVICE_ROM_RUN
The Kconfig option "ON_DEVICE_ROM_RUN" suggests that PCI Option ROMs are run, but in fact it only controls the loading of PCI based Option ROMs. At the moment coreboot only executes Option ROMs if they are VGA Options ROMs and the VGA Option ROM execution flag is enabled. Setting ON_DEVICE_ROM_RUN with VGA Option ROM execution disabled has no effect. Clarify that this flag controls the loading behaviour and not the execution behaviour. Change-Id: Ie3e503cb145f9b7ce613755e60ac0f6c00f2bcdb Signed-off-by: Patrick Rudolph <siro@das-labor.org> Reviewed-on: https://review.coreboot.org/13684 Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Patrick Georgi <pgeorgi@google.com>
-rw-r--r--src/device/Kconfig6
-rw-r--r--src/device/pci_rom.c10
2 files changed, 7 insertions, 9 deletions
diff --git a/src/device/Kconfig b/src/device/Kconfig
index 011354530d..70a362f20e 100644
--- a/src/device/Kconfig
+++ b/src/device/Kconfig
@@ -84,13 +84,13 @@ config ALWAYS_LOAD_OPROM
are needed for the kernel's display driver to know how a piece of
hardware is configured to be used.
-config ON_DEVICE_ROM_RUN
- bool "Run Option ROMs on PCI devices"
+config ON_DEVICE_ROM_LOAD
+ bool "Load Option ROMs on PCI devices"
default n if PAYLOAD_SEABIOS
default y if !PAYLOAD_SEABIOS
depends on PCI
help
- Execute Option ROMs stored on PCI/PCIe/AGP devices in coreboot.
+ Load Option ROMs stored on PCI/PCIe/AGP devices in coreboot.
If disabled, only Option ROMs stored in CBFS will be executed by
coreboot. If you are concerned about security, you might want to
diff --git a/src/device/pci_rom.c b/src/device/pci_rom.c
index ad6c7e4634..8366fea357 100644
--- a/src/device/pci_rom.c
+++ b/src/device/pci_rom.c
@@ -52,6 +52,10 @@ struct rom_header *pci_rom_probe(struct device *dev)
if (rom_header) {
printk(BIOS_DEBUG, "In CBFS, ROM address for %s = %p\n",
dev_path(dev), rom_header);
+ } else if (!IS_ENABLED(CONFIG_ON_DEVICE_ROM_LOAD)) {
+ printk(BIOS_DEBUG, "PCI Option ROM loading disabled "
+ "for %s\n", dev_path(dev));
+ return NULL;
} else {
uintptr_t rom_address;
@@ -70,15 +74,9 @@ struct rom_header *pci_rom_probe(struct device *dev)
rom_address|PCI_ROM_ADDRESS_ENABLE);
}
-#if CONFIG_ON_DEVICE_ROM_RUN
printk(BIOS_DEBUG, "Option ROM address for %s = %lx\n",
dev_path(dev), (unsigned long)rom_address);
rom_header = (struct rom_header *)rom_address;
-#else
- printk(BIOS_DEBUG, "Option ROM execution disabled "
- "for %s\n", dev_path(dev));
- return NULL;
-#endif
}
printk(BIOS_SPEW, "PCI expansion ROM, signature 0x%04x, "