diff options
author | Patrick Rudolph <siro@das-labor.org> | 2016-02-11 08:36:50 +0100 |
---|---|---|
committer | Martin Roth <martinroth@google.com> | 2016-02-16 22:44:04 +0100 |
commit | 647e34dbe547bcd7bb3990d138b5c6906ea935e8 (patch) | |
tree | 98de6c6cf922cd31e9ee5a811cd42701f8c40528 | |
parent | 59de6c9c71582798a9e24bfe6373fc995ec495cd (diff) |
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/Kconfig | 6 | ||||
-rw-r--r-- | src/device/pci_rom.c | 10 |
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, " |