Johanna Schander has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/34571 )
Change subject: Add Option to force running the OptionROM ......................................................................
Add Option to force running the OptionROM
Some intel optionROMs that are shipped by vendors do not match the deviceIDs for their hardware. We can force them regardless and get working vga init for some of them.
Tested against the 8086,0406 image for Intel sklkbl 8086,5916 (HD620)
Change-Id: I4b7a1e12d86b77b866077784d3837cf9359cc668 Signed-off-by: Johanna Schander coreboot@mimoja.de --- M src/device/Kconfig M src/device/pci_rom.c 2 files changed, 14 insertions(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/71/34571/1
diff --git a/src/device/Kconfig b/src/device/Kconfig index e605bc2..bf793f6 100644 --- a/src/device/Kconfig +++ b/src/device/Kconfig @@ -95,6 +95,16 @@ more complete BIOS interrupt services available than coreboot, which some option ROMs require in order to function correctly.
+config IGNORE_VGA_ROM_ID_MISMATCH + bool "Ignore OptionROM ID matching" + depends on VGA_ROM_RUN + help + Execute VGA Option ROMs regardless of ID matching. + Some VGA OptionROMS that are shipped by vendors do not match + their devices ids. + Forcing them to run might result in success but should be done + quite carefully. + config RUN_FSP_GOP bool "Run a GOP driver" depends on HAVE_FSP_GOP diff --git a/src/device/pci_rom.c b/src/device/pci_rom.c index 2b2d46d..8674b08 100644 --- a/src/device/pci_rom.c +++ b/src/device/pci_rom.c @@ -105,7 +105,10 @@ && (vendev == mapped_vendev)) { printk(BIOS_ERR, "ID mismatch: vendor ID %04x, " "device ID %04x\n", rom_data->vendor, rom_data->device); - return NULL; + if CONFIG(IGNORE_VGA_ROM_ID_MISMATCH) + printk(BIOS_INFO, "Ignoring"); + else + return NULL; }
printk(BIOS_SPEW, "PCI ROM image, Class Code %04x%02x, "