summaryrefslogtreecommitdiff
path: root/IntelFrameworkModulePkg
diff options
context:
space:
mode:
authoreric_tian <eric_tian@6f19259b-4bc3-4df7-8a09-765794883524>2007-12-26 08:49:07 +0000
committereric_tian <eric_tian@6f19259b-4bc3-4df7-8a09-765794883524>2007-12-26 08:49:07 +0000
commit96d1b1722e7b21aed0f05bec2a4b9da21597dfce (patch)
treee5f45ba8d8f9a1ee1d3589bc14e0c29deef30777 /IntelFrameworkModulePkg
parentdb9d722df16f2bda8240222eae642c97e0c8632c (diff)
downloadedk2-96d1b1722e7b21aed0f05bec2a4b9da21597dfce.zip
edk2-96d1b1722e7b21aed0f05bec2a4b9da21597dfce.tar.gz
edk2-96d1b1722e7b21aed0f05bec2a4b9da21597dfce.tar.bz2
Add the Rom Image to internal database for later PCI light enumeration
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4439 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'IntelFrameworkModulePkg')
-rw-r--r--IntelFrameworkModulePkg/Bus/Pci/PciBusDxe/PciDeviceSupport.c14
-rw-r--r--IntelFrameworkModulePkg/Bus/Pci/PciBusDxe/PciOptionRomSupport.c4
2 files changed, 18 insertions, 0 deletions
diff --git a/IntelFrameworkModulePkg/Bus/Pci/PciBusDxe/PciDeviceSupport.c b/IntelFrameworkModulePkg/Bus/Pci/PciBusDxe/PciDeviceSupport.c
index 9944fcd..7a1d30e 100644
--- a/IntelFrameworkModulePkg/Bus/Pci/PciBusDxe/PciDeviceSupport.c
+++ b/IntelFrameworkModulePkg/Bus/Pci/PciBusDxe/PciDeviceSupport.c
@@ -357,6 +357,20 @@ Returns:
PciIoDevice->PciIo.RomImage = PlatformOpRomBuffer;
//
+ // For OpROM read from gPciPlatformProtocol:
+ // Add the Rom Image to internal database for later PCI light enumeration
+ //
+ PciRomAddImageMapping (
+ NULL,
+ PciIoDevice->PciRootBridgeIo->SegmentNumber,
+ PciIoDevice->BusNumber,
+ PciIoDevice->DeviceNumber,
+ PciIoDevice->FunctionNumber,
+ (UINT64) (UINTN) PciIoDevice->PciIo.RomImage,
+ PciIoDevice->PciIo.RomSize
+ );
+
+ //
// Process Image
//
ProcessOpRomImage (PciIoDevice);
diff --git a/IntelFrameworkModulePkg/Bus/Pci/PciBusDxe/PciOptionRomSupport.c b/IntelFrameworkModulePkg/Bus/Pci/PciBusDxe/PciOptionRomSupport.c
index c3f31be..05339f3 100644
--- a/IntelFrameworkModulePkg/Bus/Pci/PciBusDxe/PciOptionRomSupport.c
+++ b/IntelFrameworkModulePkg/Bus/Pci/PciBusDxe/PciOptionRomSupport.c
@@ -284,6 +284,10 @@ Returns:
PciDevice->PciIo.RomSize = RomImageSize;
PciDevice->PciIo.RomImage = RomInMemory;
+ //
+ // For OpROM read from PCI device:
+ // Add the Rom Image to internal database for later PCI light enumeration
+ //
PciRomAddImageMapping (
NULL,
PciDevice->PciRootBridgeIo->SegmentNumber,