diff options
author | Yinghai Lu <yinghailu@gmail.com> | 2005-01-13 03:36:38 +0000 |
---|---|---|
committer | Yinghai Lu <yinghailu@gmail.com> | 2005-01-13 03:36:38 +0000 |
commit | 77cbb99a578bcd5e929e13cc07871d8a5dc15e4b (patch) | |
tree | 3b5b62ea820fb2862258d0f491a0a2c1b5b6263c /src/devices/pci_rom.c | |
parent | 6c615429d39d7e14f7ea97a63cabcb616d5c2438 (diff) | |
download | coreboot-77cbb99a578bcd5e929e13cc07871d8a5dc15e4b.tar.xz |
onboard pci_rom
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1860 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src/devices/pci_rom.c')
-rw-r--r-- | src/devices/pci_rom.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/devices/pci_rom.c b/src/devices/pci_rom.c index cbeaf85743..a2e3166802 100644 --- a/src/devices/pci_rom.c +++ b/src/devices/pci_rom.c @@ -4,16 +4,23 @@ #include <device/pci_ids.h> #include <device/pci_ops.h> +#include "../drivers/pci/onboard/chip.h" + struct rom_header * pci_rom_probe(struct device *dev) { unsigned long rom_address; struct rom_header *rom_header; struct pci_data *rom_data; + if (dev->on_mainboard && (dev->rom_address != 0) ) { + rom_address = dev->rom_address; + } + else { + rom_address = pci_read_config32(dev, PCI_ROM_ADDRESS); + } + rom_address = pci_read_config32(dev, PCI_ROM_ADDRESS); if (rom_address == 0x00000000 || rom_address == 0xffffffff) { - /* FixME: search in the LinuxBIOS Image for integrated - * devices? */ return NULL; } |