On Wed, Feb 11, 2015 at 05:32:03PM -0600, Timothy Pearson wrote:
TEST: Booted ASUS KFSN4-DRE with iPXE ROMs built in to CBFS; with this option set the on-board network ROMs were ignored while the iPXE ROMs executed normally.
Signed-off-by: Timothy Pearson tpearson@raptorengineeringinc.com
Hi Timothy,
Thanks for providing the patch and sorry for the delay in reviewing.
src/Kconfig | 11 +++++++++++ src/optionroms.c | 3 +++ 2 files changed, 14 insertions(+)
diff --git a/src/Kconfig b/src/Kconfig index 45ca59c..9cac231 100644 --- a/src/Kconfig +++ b/src/Kconfig @@ -355,6 +355,17 @@ menu "BIOS interfaces" default y help Support finding and running option roms during POST.
- config CBFS_OPTIONROMS_ONLY
depends on OPTIONROMS && COREBOOT_FLASH
bool "Only execute option ROMs stored in CBFS"
default "n"
help
Only execute option ROMs that are stored in CBFS.
Do not scan PCI bus for option ROMs. This is useful
if one or more of your PCI devices crash/hang SeaBIOS
when executing their option ROMs, but you need to use
one or more option ROMs (such as SeaVGABIOS) that were
loaded into CBFS.
In general, I prefer for these types of options to be set at runtime (by making a new CBFS file such as "etc/run-option-roms" and using the romfile_loadint() mechanism) instead of at compile time.
That said, it should already possible to prevent a particular option rom from running by creating a dummy option rom for that device in CBFS. That is, it should be possible to create a dummy cbfs file "pci1234,5678.rom" to prevent the option rom on PCI device 1234:5678 from running. Not sure if this fixes the issue you were seeing, but if so maybe the best fix is to just update the documentation.
-Kevin