onboard pci_rom disable onboard
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1871 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
parent
d57e756065
commit
bcde1618da
|
@ -601,9 +601,12 @@ void dev_initialize(void)
|
||||||
printk_info("Initializing devices...\n");
|
printk_info("Initializing devices...\n");
|
||||||
#if CONFIG_CONSOLE_VGA == 1
|
#if CONFIG_CONSOLE_VGA == 1
|
||||||
for (dev = all_devices; dev; dev = dev->next) {
|
for (dev = all_devices; dev; dev = dev->next) {
|
||||||
|
if ( !dev->enabled ) continue;
|
||||||
if (dev->enabled && !dev->initialized &&
|
if (dev->enabled && !dev->initialized &&
|
||||||
dev->ops && dev->ops->init)
|
dev->ops && dev->ops->init)
|
||||||
{
|
{
|
||||||
|
if( !dev->on_mainboard ) continue; // process addon card in second run
|
||||||
|
else if( dev->rom_address!=0 ) continue; // onboard and it is assigned via MB Config.lb, process it later
|
||||||
if( dev->on_mainboard && (dev->rom_address!=0)) continue;
|
if( dev->on_mainboard && (dev->rom_address!=0)) continue;
|
||||||
printk_debug("%s init\n", dev_path(dev));
|
printk_debug("%s init\n", dev_path(dev));
|
||||||
dev->initialized = 1;
|
dev->initialized = 1;
|
||||||
|
|
|
@ -218,6 +218,10 @@ static void pci_get_rom_resource(struct device *dev, unsigned long index)
|
||||||
unsigned long value;
|
unsigned long value;
|
||||||
resource_t moving, limit;
|
resource_t moving, limit;
|
||||||
|
|
||||||
|
if ((dev->on_mainboard) && (dev->rom_address == 0)) { //skip it if rom_address is not set in MB Config.lb
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
/* Initialize the resources to nothing */
|
/* Initialize the resources to nothing */
|
||||||
resource = new_resource(dev, index);
|
resource = new_resource(dev, index);
|
||||||
|
|
||||||
|
@ -262,7 +266,7 @@ static void pci_get_rom_resource(struct device *dev, unsigned long index)
|
||||||
/* for on board device with embedded ROM image, the ROM image is at
|
/* for on board device with embedded ROM image, the ROM image is at
|
||||||
* fixed address specified in the Config.lb, the dev->rom_address is
|
* fixed address specified in the Config.lb, the dev->rom_address is
|
||||||
* inited by driver_pci_onboard_ops::enable_dev() */
|
* inited by driver_pci_onboard_ops::enable_dev() */
|
||||||
if ((dev->on_mainboard) && (dev->rom_address == 0)) {
|
if ((dev->on_mainboard) && (dev->rom_address != 0)) {
|
||||||
resource->base = dev->rom_address;
|
resource->base = dev->rom_address;
|
||||||
resource->flags |= IORESOURCE_MEM | IORESOURCE_READONLY |
|
resource->flags |= IORESOURCE_MEM | IORESOURCE_READONLY |
|
||||||
IORESOURCE_ASSIGNED | IORESOURCE_FIXED;
|
IORESOURCE_ASSIGNED | IORESOURCE_FIXED;
|
||||||
|
|
Loading…
Reference in New Issue