Remove PCI_ROM_RUN option

The main purpose of option rom is to supply int* handlers.
But supplying those is outside of coreboot scope and if someone needs those
they should run SeaBIOS anyway which runs the option roms wonderfully.

Running VGA oprom is kept because they're needed to init graphics.

This patch still keeps the options to include the option roms to make them
available to SeaBIOS.

Change-Id: I646334cf88094d3bf8f527779a68a07e0b4b93ec
Signed-off-by: Vladimir Serbinenko <phcoder@gmail.com>
Reviewed-on: http://review.coreboot.org/4545
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
Reviewed-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
Vladimir Serbinenko
2013-12-20 17:47:19 +01:00
parent 50ecb9c111
commit b32816e9a5
33 changed files with 61 additions and 133 deletions

View File

@@ -66,23 +66,6 @@ config S3_VGA_ROM_RUN
If unsure, say N when using SeaBIOS as payload, Y otherwise.
config PCI_ROM_RUN
bool "Run non-VGA Option ROMs"
default n if PAYLOAD_SEABIOS
default y if !PAYLOAD_SEABIOS
depends on PCI && !PAYLOAD_SEABIOS || EXPERT
help
Execute non-VGA PCI Option ROMs in coreboot if found.
Examples include IDE/SATA controller Option ROMs and Option ROMs
for network cards (NICs).
When using a SeaBIOS payload it runs all option ROMs with much
more complete BIOS interrupt services available than coreboot,
which some option ROMs require in order to function correctly.
If unsure, say N when using SeaBIOS as payload, Y otherwise.
config ON_DEVICE_ROM_RUN
bool "Run Option ROMs on PCI devices"
default n if PAYLOAD_SEABIOS
@@ -106,7 +89,7 @@ choice
prompt "Option ROM execution type"
default PCI_OPTION_ROM_RUN_YABEL if !ARCH_X86
default PCI_OPTION_ROM_RUN_REALMODE if ARCH_X86
depends on PCI_ROM_RUN || VGA_ROM_RUN || GEODE_VSA
depends on VGA_ROM_RUN || GEODE_VSA
config PCI_OPTION_ROM_RUN_REALMODE
prompt "Native mode"

View File

@@ -17,9 +17,5 @@ romstage-y+= device_romstage.c
subdirs-y += oprom
ifeq ($(CONFIG_PCI_ROM_RUN),y)
ramstage-y += pci_rom.c
else
ramstage-$(CONFIG_VGA_ROM_RUN) += pci_rom.c
endif

View File

@@ -666,15 +666,11 @@ int oprom_is_loaded = 0;
/** Default handler: only runs the relevant PCI BIOS. */
void pci_dev_init(struct device *dev)
{
#if CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN
#if CONFIG_VGA_ROM_RUN
struct rom_header *rom, *ram;
if (CONFIG_PCI_ROM_RUN != 1 && /* Only execute VGA ROMs. */
((dev->class >> 8) != PCI_CLASS_DISPLAY_VGA))
return;
if (CONFIG_VGA_ROM_RUN != 1 && /* Only execute non-VGA ROMs. */
((dev->class >> 8) == PCI_CLASS_DISPLAY_VGA))
/* Only execute VGA ROMs. */
if (((dev->class >> 8) != PCI_CLASS_DISPLAY_VGA))
return;
#if CONFIG_CHROMEOS
@@ -711,7 +707,7 @@ void pci_dev_init(struct device *dev)
oprom_is_loaded = 1;
printk(BIOS_DEBUG, "VGA Option ROM has been loaded\n");
#endif
#endif /* CONFIG_PCI_ROM_RUN || CONFIG_VGA_ROM_RUN */
#endif /* CONFIG_VGA_ROM_RUN */
}
/** Default device operation for PCI devices */