1) Use FeatureFlag PcdPciBusHotplugDeviceSupport to merge LightPciLib.c with PcdLib.c.
[mirror_edk2.git] / EdkModulePkg / Bus / Pci / PciBus / Dxe / PciBus.msa
CommitLineData
2ce31132 1<?xml version="1.0" encoding="UTF-8"?>\r
2<ModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">\r
878ddf1f 3 <MsaHeader>\r
1f86f081 4 <ModuleName>PciBus</ModuleName>\r
878ddf1f 5 <ModuleType>DXE_DRIVER</ModuleType>\r
1f86f081 6 <GuidValue>93B80004-9FB3-11d4-9A3A-0090273FC14D</GuidValue>\r
7 <Version>1.0</Version>\r
878ddf1f 8 <Abstract>Component description file for PciBus module.</Abstract>\r
6874dbd0 9 <Description>PCI bus driver. This module will probe all PCI devices and allocate MMIO and IO\r
10 space for these devices. Please use PCD feature flag PcdPciBusHotplugDeviceSupport to enable\r
11 support hot plug.</Description>\r
15f3b1d4 12 <Copyright>Copyright (c) 2006, Intel Corporation</Copyright>\r
6874dbd0 13 <License>All rights reserved. This program and the accompanying materials\r
14 are licensed and made available under the terms and conditions of the BSD License\r
15 which accompanies this distribution. The full text of the license may be found at\r
16 http://opensource.org/licenses/bsd-license.php\r
17 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
1f86f081 18 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.</License>\r
19 <Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052</Specification>\r
878ddf1f 20 </MsaHeader>\r
1f86f081 21 <ModuleDefinitions>\r
22 <SupportedArchitectures>IA32 X64 IPF EBC</SupportedArchitectures>\r
23 <BinaryModule>false</BinaryModule>\r
24 <OutputFileBasename>PciBus</OutputFileBasename>\r
25 </ModuleDefinitions>\r
878ddf1f 26 <LibraryClassDefinitions>\r
1f86f081 27 <LibraryClass Usage="ALWAYS_CONSUMED">\r
28 <Keyword>DebugLib</Keyword>\r
29 </LibraryClass>\r
30 <LibraryClass Usage="ALWAYS_CONSUMED">\r
31 <Keyword>UefiDriverModelLib</Keyword>\r
32 </LibraryClass>\r
33 <LibraryClass Usage="ALWAYS_CONSUMED">\r
34 <Keyword>UefiDriverEntryPoint</Keyword>\r
35 </LibraryClass>\r
36 <LibraryClass Usage="ALWAYS_CONSUMED">\r
37 <Keyword>BaseLib</Keyword>\r
38 </LibraryClass>\r
39 <LibraryClass Usage="ALWAYS_CONSUMED">\r
40 <Keyword>UefiLib</Keyword>\r
41 </LibraryClass>\r
42 <LibraryClass Usage="ALWAYS_CONSUMED">\r
43 <Keyword>BaseMemoryLib</Keyword>\r
44 </LibraryClass>\r
45 <LibraryClass Usage="ALWAYS_CONSUMED">\r
46 <Keyword>ReportStatusCodeLib</Keyword>\r
47 </LibraryClass>\r
48 <LibraryClass Usage="ALWAYS_CONSUMED">\r
49 <Keyword>MemoryAllocationLib</Keyword>\r
50 </LibraryClass>\r
51 <LibraryClass Usage="ALWAYS_CONSUMED">\r
52 <Keyword>UefiBootServicesTableLib</Keyword>\r
53 </LibraryClass>\r
54 <LibraryClass Usage="ALWAYS_CONSUMED">\r
55 <Keyword>DevicePathLib</Keyword>\r
56 </LibraryClass>\r
2ce31132 57 <LibraryClass Usage="ALWAYS_CONSUMED">\r
58 <Keyword>PeCoffGetEntryPointLib</Keyword>\r
59 </LibraryClass>\r
3681d193 60 <LibraryClass Usage="ALWAYS_CONSUMED">\r
61 <Keyword>PcdLib</Keyword>\r
62 </LibraryClass>\r
878ddf1f 63 </LibraryClassDefinitions>\r
64 <SourceFiles>\r
65 <Filename>PciBus.h</Filename>\r
66 <Filename>PciIo.h</Filename>\r
67 <Filename>PciCommand.h</Filename>\r
68 <Filename>PciDeviceSupport.h</Filename>\r
69 <Filename>PciResourceSupport.h</Filename>\r
70 <Filename>PciEnumerator.h</Filename>\r
71 <Filename>PciEnumeratorSupport.h</Filename>\r
72 <Filename>PciOptionRomSupport.h</Filename>\r
73 <Filename>PciRomTable.h</Filename>\r
74 <Filename>PciHotPlugSupport.h</Filename>\r
75 <Filename>PciLib.h</Filename>\r
76 <Filename>PciHotPlugSupport.c</Filename>\r
77 <Filename>PciRomTable.c</Filename>\r
78 <Filename>PciDriverOverride.h</Filename>\r
79 <Filename>PciPowerManagement.h</Filename>\r
80 <Filename>PciPowerManagement.c</Filename>\r
81 <Filename>PciDriverOverride.c</Filename>\r
82 <Filename>PciOptionRomSupport.c</Filename>\r
83 <Filename>PciEnumerator.c</Filename>\r
84 <Filename>PciEnumeratorSupport.c</Filename>\r
85 <Filename>PciResourceSupport.c</Filename>\r
aec91719 86 <Filename>PciCommand.c</Filename>\r
5094fb09 87 <Filename>ComponentName.h</Filename>\r
878ddf1f 88 <Filename>ComponentName.c</Filename>\r
89 <Filename>PciDeviceSupport.c</Filename>\r
aec91719 90 <Filename>pcibus.c</Filename>\r
878ddf1f 91 <Filename>PciIo.c</Filename>\r
92 <Filename>PciLib.c</Filename>\r
93 </SourceFiles>\r
1f86f081 94 <PackageDependencies>\r
95 <Package PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>\r
62f84315 96 <Package PackageGuid="68169ab0-d41b-4009-9060-292c253ac43d"/>\r
1f86f081 97 </PackageDependencies>\r
878ddf1f 98 <Protocols>\r
1f86f081 99 <Protocol Usage="TO_START">\r
53b86193 100 <ProtocolCName>gEfiDevicePathProtocolGuid</ProtocolCName>\r
1f86f081 101 </Protocol>\r
102 <Protocol Usage="TO_START">\r
53b86193 103 <ProtocolCName>gEfiPciRootBridgeIoProtocolGuid</ProtocolCName>\r
1f86f081 104 </Protocol>\r
105 <Protocol Usage="TO_START">\r
53b86193 106 <ProtocolCName>gEfiPciPlatformProtocolGuid</ProtocolCName>\r
1f86f081 107 </Protocol>\r
108 <Protocol Usage="TO_START">\r
53b86193 109 <ProtocolCName>gEfiIncompatiblePciDeviceSupportProtocolGuid</ProtocolCName>\r
1f86f081 110 </Protocol>\r
111 <Protocol Usage="TO_START">\r
53b86193 112 <ProtocolCName>gEfiPciHostBridgeResourceAllocationProtocolGuid</ProtocolCName>\r
1f86f081 113 </Protocol>\r
114 <Protocol Usage="TO_START">\r
53b86193 115 <ProtocolCName>gEfiPciHotPlugInitProtocolGuid</ProtocolCName>\r
1f86f081 116 </Protocol>\r
117 <Protocol Usage="TO_START">\r
53b86193 118 <ProtocolCName>gEfiDecompressProtocolGuid</ProtocolCName>\r
1f86f081 119 </Protocol>\r
120 <Protocol Usage="TO_START">\r
53b86193 121 <ProtocolCName>gEfiLoadedImageProtocolGuid</ProtocolCName>\r
1f86f081 122 </Protocol>\r
123 <Protocol Usage="TO_START">\r
53b86193 124 <ProtocolCName>gEfiUgaIoProtocolGuid</ProtocolCName>\r
1f86f081 125 </Protocol>\r
126 <Protocol Usage="BY_START">\r
53b86193 127 <ProtocolCName>gEfiPciIoProtocolGuid</ProtocolCName>\r
1f86f081 128 </Protocol>\r
129 <Protocol Usage="BY_START">\r
53b86193 130 <ProtocolCName>gEfiBusSpecificDriverOverrideProtocolGuid</ProtocolCName>\r
1f86f081 131 </Protocol>\r
132 <Protocol Usage="ALWAYS_PRODUCED">\r
53b86193 133 <ProtocolCName>gEfiPciHotPlugRequestProtocolGuid</ProtocolCName>\r
1f86f081 134 </Protocol>\r
878ddf1f 135 </Protocols>\r
136 <SystemTables>\r
1f86f081 137 <SystemTableCNames Usage="ALWAYS_CONSUMED">\r
138 <SystemTableCName>gEfiUgaIoProtocolGuid</SystemTableCName>\r
139 </SystemTableCNames>\r
140 <SystemTableCNames Usage="SOMETIMES_CONSUMED">\r
141 <SystemTableCName>gEfiPciOptionRomTableGuid</SystemTableCName>\r
142 </SystemTableCNames>\r
878ddf1f 143 </SystemTables>\r
144 <Guids>\r
1f86f081 145 <GuidCNames Usage="SOMETIMES_CONSUMED">\r
53b86193 146 <GuidCName>gEfiPciOptionRomTableGuid</GuidCName>\r
1f86f081 147 </GuidCNames>\r
148 <GuidCNames Usage="SOMETIMES_CONSUMED">\r
53b86193 149 <GuidCName>gEfiStatusCodeSpecificDataGuid</GuidCName>\r
1f86f081 150 </GuidCNames>\r
151 <GuidCNames Usage="PRIVATE">\r
53b86193 152 <GuidCName>gEfiPciHotplugDeviceGuid</GuidCName>\r
1f86f081 153 </GuidCNames>\r
878ddf1f 154 </Guids>\r
155 <Externs>\r
1f86f081 156 <Specification>EFI_SPECIFICATION_VERSION 0x00020000</Specification>\r
15b06e58 157 <Specification>EDK_RELEASE_VERSION 0x00020000</Specification>\r
878ddf1f 158 <Extern>\r
159 <ModuleEntryPoint>PciBusEntryPoint</ModuleEntryPoint>\r
160 </Extern>\r
161 <Extern>\r
162 <DriverBinding>gPciBusDriverBinding</DriverBinding>\r
163 <ComponentName>gPciBusComponentName</ComponentName>\r
164 </Extern>\r
165 </Externs>\r
3681d193 166 <PcdCoded>\r
167 <PcdEntry PcdItemType="FEATURE_FLAG" Usage="ALWAYS_CONSUMED">\r
168 <C_Name>PcdPciIsaEnable</C_Name>\r
169 <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
170 <HelpText>Whether ISA decoding is enabled on this platform so we should avoid those aliased resources</HelpText>\r
171 </PcdEntry>\r
172 <PcdEntry PcdItemType="FEATURE_FLAG" Usage="ALWAYS_CONSUMED">\r
173 <C_Name>PcdPciVgaEnable</C_Name>\r
174 <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
175 <HelpText>Whether VGA decoding is enabled on this platform so we should avoid those aliased resources</HelpText>\r
176 </PcdEntry>\r
6874dbd0 177 <PcdEntry PcdItemType="FEATURE_FLAG" Usage="ALWAYS_CONSUMED">\r
178 <C_Name>PcdPciBusHotplugDeviceSupport</C_Name>\r
179 <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
180 <DefaultValue>TRUE</DefaultValue>\r
181 <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
182 </PcdEntry>\r
3681d193 183 </PcdCoded>\r
1f86f081 184</ModuleSurfaceArea>