Revision: 14940
http://sourceforge.net/p/edk2/code/14940
Author: jljusten
Date: 2013-12-08 01:35:32 +0000 (Sun, 08 Dec 2013)
Log Message:
-----------
MdeModulePkg: introduce PcdPciDisableBusEnumeration
Platforms such as Xen already enumerates PCI bridges and devices. Use
this PCD to control EDK2 behavior.
PcdPciDisableBusEnumeration is placed under [PcdsFixedAtBuild,
PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx], so that it is
possible to alter it during runtime.
The default setting of this PCD is false (allow full PCI enumeration) to
preserve the same behavior before this change.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Wei Liu <[email protected]>
Reviewed-by: Jordan Justen <[email protected]>
Reviewed-by: Michael Kinney <[email protected]>
Modified Paths:
--------------
trunk/edk2/MdeModulePkg/Bus/Pci/PciBusDxe/PciBus.c
trunk/edk2/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
trunk/edk2/MdeModulePkg/MdeModulePkg.dec
Modified: trunk/edk2/MdeModulePkg/Bus/Pci/PciBusDxe/PciBus.c
===================================================================
--- trunk/edk2/MdeModulePkg/Bus/Pci/PciBusDxe/PciBus.c 2013-12-06 16:13:13 UTC
(rev 14939)
+++ trunk/edk2/MdeModulePkg/Bus/Pci/PciBusDxe/PciBus.c 2013-12-08 01:35:32 UTC
(rev 14940)
@@ -284,7 +284,11 @@
);
}
- gFullEnumeration = (BOOLEAN) ((SearchHostBridgeHandle (Controller) ? FALSE :
TRUE));
+ if (PcdGetBool (PcdPciDisableBusEnumeration)) {
+ gFullEnumeration = FALSE;
+ } else {
+ gFullEnumeration = (BOOLEAN) ((SearchHostBridgeHandle (Controller) ? FALSE
: TRUE));
+ }
//
// Open Device Path Protocol for PCI root bridge
Modified: trunk/edk2/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
===================================================================
--- trunk/edk2/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf 2013-12-06
16:13:13 UTC (rev 14939)
+++ trunk/edk2/MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf 2013-12-08
01:35:32 UTC (rev 14940)
@@ -108,6 +108,7 @@
gEfiMdeModulePkgTokenSpaceGuid.PcdSrIovSupport
gEfiMdeModulePkgTokenSpaceGuid.PcdAriSupport
gEfiMdeModulePkgTokenSpaceGuid.PcdMrIovSupport
+ gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration
# [Event]
# ##
Modified: trunk/edk2/MdeModulePkg/MdeModulePkg.dec
===================================================================
--- trunk/edk2/MdeModulePkg/MdeModulePkg.dec 2013-12-06 16:13:13 UTC (rev
14939)
+++ trunk/edk2/MdeModulePkg/MdeModulePkg.dec 2013-12-08 01:35:32 UTC (rev
14940)
@@ -878,6 +878,9 @@
## This PCD specified whether the S.M.A.R.T feature of attached ATA hard
disks are enabled.
gEfiMdeModulePkgTokenSpaceGuid.PcdAtaSmartEnable|TRUE|BOOLEAN|0x00010065
+ ## This PCD specifies whether full PCI enumeration is disabled.
+
gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|FALSE|BOOLEAN|0x10000048
+
[PcdsPatchableInModule]
## Specify memory size with page number for PEI code when
# the feature of Loading Module at Fixed Address is enabled
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Sponsored by Intel(R) XDK
Develop, test and display web and hybrid apps with a single code base.
Download it for free now!
http://pubads.g.doubleclick.net/gampad/clk?id=111408631&iu=/4140/ostg.clktrk
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits