Hi, Lee,

Do we assume all PCI devices will be enabled in  the command registers in 
coreboot before transitioning to the UEFI payload ?
How about those PCI devices with command register disabled but with PCI BARs 
programmed ?   If we skip them, then the resource will not be collected by the 
PciBus driver.

Thanks
Maurice

-----Original Message-----
From: Leahy, Leroy P 
Sent: Tuesday, April 19, 2016 1:30 PM
To: [email protected]; Ma, Maurice; Agyeman, Prince; Leahy, Leroy P
Subject: [PATCH 04/12] CorebootPayloadPkg/PciBusNoEnumerationDxe: Skip disabled 
devices

Skip non-bridge devices which are not enabled either for memory or I/O access.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Lee Leahy <[email protected]>
---
 CorebootModulePkg/PciBusNoEnumerationDxe/PciEnumeratorSupport.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/CorebootModulePkg/PciBusNoEnumerationDxe/PciEnumeratorSupport.c 
b/CorebootModulePkg/PciBusNoEnumerationDxe/PciEnumeratorSupport.c
index ca300cf..3802424 100644
--- a/CorebootModulePkg/PciBusNoEnumerationDxe/PciEnumeratorSupport.c
+++ b/CorebootModulePkg/PciBusNoEnumerationDxe/PciEnumeratorSupport.c
@@ -227,6 +227,15 @@ Returns:
       if (!EFI_ERROR (Status)) {
 
         //
+        // Skip non-bridge devices which are not enabled
+        //
+        if (((Pci.Hdr.Command & (EFI_PCI_COMMAND_IO_SPACE
+                                  | EFI_PCI_COMMAND_MEMORY_SPACE)) == 0)
+          && (!(IS_PCI_BRIDGE (&Pci) || IS_CARDBUS_BRIDGE (&Pci)))) {
+          continue;
+        }
+
+        //
         // Collect all the information about the PCI device discovered
         //
         Status = PciSearchDevice (
--
1.9.1

_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to