[SeaBIOS] [PATCH 1/2] Add an option to only execute option ROMs contained in CBFS
Kevin O'Connor
kevin at koconnor.net
Fri Feb 13 21:05:11 CET 2015
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 at 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
More information about the SeaBIOS
mailing list