]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkModulePkg/Bus/Pci/PciBus/Dxe/PciBus.msa
1) Use FeatureFlag PcdPciBusHotplugDeviceSupport to merge LightPciLib.c with PcdLib.c.
[mirror_edk2.git] / EdkModulePkg / Bus / Pci / PciBus / Dxe / PciBus.msa
index 1ec7426116f9dd401cdaa1d786cfc5fac0def4fa..b8e15f9fb38c35987e95fc2ddcadd65dc53f6819 100644 (file)
@@ -1,47 +1,65 @@
 <?xml version="1.0" encoding="UTF-8"?>\r
-<!--\r
-Copyright (c) 2006, Intel Corporation\r
-All rights reserved. This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution.  The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
--->\r
-<ModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.TianoCore.org/2006/Edk2.0  http://www.TianoCore.org/2006/Edk2.0/SurfaceArea.xsd">\r
+<ModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">\r
   <MsaHeader>\r
-    <BaseName>PciBus</BaseName>\r
+    <ModuleName>PciBus</ModuleName>\r
     <ModuleType>DXE_DRIVER</ModuleType>\r
-    <ComponentType>BS_DRIVER</ComponentType>\r
-    <Guid>93B80004-9FB3-11d4-9A3A-0090273FC14D</Guid>\r
-    <Version>0</Version>\r
+    <GuidValue>93B80004-9FB3-11d4-9A3A-0090273FC14D</GuidValue>\r
+    <Version>1.0</Version>\r
     <Abstract>Component description file for PciBus module.</Abstract>\r
-    <Description>FIX ME!</Description>\r
-    <Copyright>Copyright (c) 2004-2006, Intel Corporation</Copyright>\r
-    <License>\r
-      All rights reserved. This program and the accompanying materials\r
+    <Description>PCI bus driver. This module will probe all PCI devices and allocate MMIO and IO\r
+       space for these devices. Please use PCD feature flag PcdPciBusHotplugDeviceSupport to enable\r
+       support hot plug.</Description>\r
+    <Copyright>Copyright (c) 2006, Intel Corporation</Copyright>\r
+    <License>All rights reserved. This program and the accompanying materials\r
       are licensed and made available under the terms and conditions of the BSD License\r
       which accompanies this distribution.  The full text of the license may be found at\r
       http://opensource.org/licenses/bsd-license.php\r
       THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-      WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-    </License>\r
-    <Created>2006-03-12 17:09</Created>\r
-    <Updated>2006-03-19 15:18</Updated>\r
-    <Specification>EFI_SPECIFICATION_VERSION    0x00000000</Specification>\r
+      WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.</License>\r
+    <Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION   0x00000052</Specification>\r
   </MsaHeader>\r
+  <ModuleDefinitions>\r
+    <SupportedArchitectures>IA32 X64 IPF EBC</SupportedArchitectures>\r
+    <BinaryModule>false</BinaryModule>\r
+    <OutputFileBasename>PciBus</OutputFileBasename>\r
+  </ModuleDefinitions>\r
   <LibraryClassDefinitions>\r
-    <LibraryClass Usage="ALWAYS_CONSUMED">DebugLib</LibraryClass>\r
-    <LibraryClass Usage="ALWAYS_CONSUMED">UefiDriverModelLib</LibraryClass>\r
-    <LibraryClass Usage="ALWAYS_CONSUMED">UefiDriverEntryPoint</LibraryClass>\r
-    <LibraryClass Usage="ALWAYS_CONSUMED">BaseLib</LibraryClass>\r
-    <LibraryClass Usage="ALWAYS_CONSUMED">UefiLib</LibraryClass>\r
-    <LibraryClass Usage="ALWAYS_CONSUMED">BaseMemoryLib</LibraryClass>\r
-    <LibraryClass Usage="ALWAYS_CONSUMED">ReportStatusCodeLib</LibraryClass>\r
-    <LibraryClass Usage="ALWAYS_CONSUMED">MemoryAllocationLib</LibraryClass>\r
-    <LibraryClass Usage="ALWAYS_CONSUMED">UefiBootServicesTableLib</LibraryClass>\r
-    <LibraryClass Usage="ALWAYS_CONSUMED">DevicePathLib</LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">\r
+      <Keyword>DebugLib</Keyword>\r
+    </LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">\r
+      <Keyword>UefiDriverModelLib</Keyword>\r
+    </LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">\r
+      <Keyword>UefiDriverEntryPoint</Keyword>\r
+    </LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">\r
+      <Keyword>BaseLib</Keyword>\r
+    </LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">\r
+      <Keyword>UefiLib</Keyword>\r
+    </LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">\r
+      <Keyword>BaseMemoryLib</Keyword>\r
+    </LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">\r
+      <Keyword>ReportStatusCodeLib</Keyword>\r
+    </LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">\r
+      <Keyword>MemoryAllocationLib</Keyword>\r
+    </LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">\r
+      <Keyword>UefiBootServicesTableLib</Keyword>\r
+    </LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">\r
+      <Keyword>DevicePathLib</Keyword>\r
+    </LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">\r
+      <Keyword>PeCoffGetEntryPointLib</Keyword>\r
+    </LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">\r
+      <Keyword>PcdLib</Keyword>\r
+    </LibraryClass>\r
   </LibraryClassDefinitions>\r
   <SourceFiles>\r
     <Filename>PciBus.h</Filename>\r
@@ -66,50 +84,77 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     <Filename>PciEnumeratorSupport.c</Filename>\r
     <Filename>PciResourceSupport.c</Filename>\r
     <Filename>PciCommand.c</Filename>\r
+    <Filename>ComponentName.h</Filename>\r
     <Filename>ComponentName.c</Filename>\r
     <Filename>PciDeviceSupport.c</Filename>\r
     <Filename>pcibus.c</Filename>\r
     <Filename>PciIo.c</Filename>\r
     <Filename>PciLib.c</Filename>\r
   </SourceFiles>\r
-  <Includes>\r
-    <PackageName>MdePkg</PackageName>\r
-    <PackageName>EdkModulePkg</PackageName>\r
-  </Includes>\r
+  <PackageDependencies>\r
+    <Package PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>\r
+    <Package PackageGuid="68169ab0-d41b-4009-9060-292c253ac43d"/>\r
+  </PackageDependencies>\r
   <Protocols>\r
-    <Protocol Usage="TO_START">DevicePath</Protocol>\r
-    <Protocol Usage="TO_START">PciRootBridgeIo</Protocol>\r
-    <Protocol Usage="TO_START">PciPlatform</Protocol>\r
-    <Protocol Usage="TO_START">IncompatiblePciDeviceSupport</Protocol>\r
-    <Protocol Usage="TO_START">PciHostBridgeResourceAllocation</Protocol>\r
-    <Protocol Usage="TO_START">PciHotPlugInit</Protocol>\r
-    <Protocol Usage="TO_START">Decompress</Protocol>\r
-    <Protocol Usage="TO_START">LoadedImage</Protocol>\r
-    <Protocol Usage="TO_START">UgaIo</Protocol>\r
-    <Protocol Usage="BY_START">PciIo</Protocol>\r
-    <Protocol Usage="BY_START">BusSpecificDriverOverride</Protocol>\r
-    <Protocol Usage="ALWAYS_PRODUCED">PciHotPlugRequest</Protocol>\r
+    <Protocol Usage="TO_START">\r
+      <ProtocolCName>gEfiDevicePathProtocolGuid</ProtocolCName>\r
+    </Protocol>\r
+    <Protocol Usage="TO_START">\r
+      <ProtocolCName>gEfiPciRootBridgeIoProtocolGuid</ProtocolCName>\r
+    </Protocol>\r
+    <Protocol Usage="TO_START">\r
+      <ProtocolCName>gEfiPciPlatformProtocolGuid</ProtocolCName>\r
+    </Protocol>\r
+    <Protocol Usage="TO_START">\r
+      <ProtocolCName>gEfiIncompatiblePciDeviceSupportProtocolGuid</ProtocolCName>\r
+    </Protocol>\r
+    <Protocol Usage="TO_START">\r
+      <ProtocolCName>gEfiPciHostBridgeResourceAllocationProtocolGuid</ProtocolCName>\r
+    </Protocol>\r
+    <Protocol Usage="TO_START">\r
+      <ProtocolCName>gEfiPciHotPlugInitProtocolGuid</ProtocolCName>\r
+    </Protocol>\r
+    <Protocol Usage="TO_START">\r
+      <ProtocolCName>gEfiDecompressProtocolGuid</ProtocolCName>\r
+    </Protocol>\r
+    <Protocol Usage="TO_START">\r
+      <ProtocolCName>gEfiLoadedImageProtocolGuid</ProtocolCName>\r
+    </Protocol>\r
+    <Protocol Usage="TO_START">\r
+      <ProtocolCName>gEfiUgaIoProtocolGuid</ProtocolCName>\r
+    </Protocol>\r
+    <Protocol Usage="BY_START">\r
+      <ProtocolCName>gEfiPciIoProtocolGuid</ProtocolCName>\r
+    </Protocol>\r
+    <Protocol Usage="BY_START">\r
+      <ProtocolCName>gEfiBusSpecificDriverOverrideProtocolGuid</ProtocolCName>\r
+    </Protocol>\r
+    <Protocol Usage="ALWAYS_PRODUCED">\r
+      <ProtocolCName>gEfiPciHotPlugRequestProtocolGuid</ProtocolCName>\r
+    </Protocol>\r
   </Protocols>\r
   <SystemTables>\r
-    <SystemTable Usage="ALWAYS_CONSUMED">\r
-      <Entry>gEfiUgaIoProtocolGuid</Entry>\r
-    </SystemTable>\r
-    <SystemTable Usage="SOMETIMES_CONSUMED">\r
-      <Entry>gEfiPciOptionRomTableGuid</Entry>\r
-    </SystemTable>\r
+    <SystemTableCNames Usage="ALWAYS_CONSUMED">\r
+      <SystemTableCName>gEfiUgaIoProtocolGuid</SystemTableCName>\r
+    </SystemTableCNames>\r
+    <SystemTableCNames Usage="SOMETIMES_CONSUMED">\r
+      <SystemTableCName>gEfiPciOptionRomTableGuid</SystemTableCName>\r
+    </SystemTableCNames>\r
   </SystemTables>\r
   <Guids>\r
-    <GuidEntry Usage="SOMETIMES_CONSUMED">\r
-      <C_Name>PciOptionRomTable</C_Name>\r
-    </GuidEntry>\r
-    <GuidEntry Usage="SOMETIMES_CONSUMED">\r
-      <C_Name>StatusCodeSpecificData</C_Name>\r
-    </GuidEntry>\r
-    <GuidEntry Usage="PRIVATE">\r
-      <C_Name>PciHotplugDevice</C_Name>\r
-    </GuidEntry>\r
+    <GuidCNames Usage="SOMETIMES_CONSUMED">\r
+      <GuidCName>gEfiPciOptionRomTableGuid</GuidCName>\r
+    </GuidCNames>\r
+    <GuidCNames Usage="SOMETIMES_CONSUMED">\r
+      <GuidCName>gEfiStatusCodeSpecificDataGuid</GuidCName>\r
+    </GuidCNames>\r
+    <GuidCNames Usage="PRIVATE">\r
+      <GuidCName>gEfiPciHotplugDeviceGuid</GuidCName>\r
+    </GuidCNames>\r
   </Guids>\r
   <Externs>\r
+    <Specification>EFI_SPECIFICATION_VERSION 0x00020000</Specification>\r
+    <Specification>EDK_RELEASE_VERSION 0x00020000</Specification>\r
     <Extern>\r
       <ModuleEntryPoint>PciBusEntryPoint</ModuleEntryPoint>\r
     </Extern>\r
@@ -118,4 +163,22 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
       <ComponentName>gPciBusComponentName</ComponentName>\r
     </Extern>\r
   </Externs>\r
-</ModuleSurfaceArea>\r
+  <PcdCoded>\r
+    <PcdEntry PcdItemType="FEATURE_FLAG" Usage="ALWAYS_CONSUMED">\r
+      <C_Name>PcdPciIsaEnable</C_Name>\r
+      <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <HelpText>Whether ISA decoding is enabled on this platform so we should avoid those aliased resources</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry PcdItemType="FEATURE_FLAG" Usage="ALWAYS_CONSUMED">\r
+      <C_Name>PcdPciVgaEnable</C_Name>\r
+      <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <HelpText>Whether VGA decoding is enabled on this platform so we should avoid those aliased resources</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry PcdItemType="FEATURE_FLAG" Usage="ALWAYS_CONSUMED">\r
+      <C_Name>PcdPciBusHotplugDeviceSupport</C_Name>\r
+      <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DefaultValue>TRUE</DefaultValue>\r
+      <HelpText>If TRUE, the PCI bus driver will support hot plug device. If not hot plug device is supported, this feature flag can be set to FALSE to save size.</HelpText>\r
+    </PcdEntry>\r
+  </PcdCoded>\r
+</ModuleSurfaceArea>
\ No newline at end of file