UefiCpuPkg/PiSmmCpuDxeSmm: Add SmmMemoryAttribute protocol
[mirror_edk2.git] / UefiCpuPkg / PiSmmCpuDxeSmm / PiSmmCpuDxeSmm.inf
CommitLineData
529a5a86
MK
1## @file\r
2# CPU SMM driver.\r
3#\r
4# This SMM driver performs SMM initialization, deploy SMM Entry Vector,\r
5# provides CPU specific services in SMM.\r
6#\r
717fb604 7# Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>\r
241f9149 8# Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR>\r
529a5a86
MK
9#\r
10# This program and the accompanying materials\r
11# are licensed and made available under the terms and conditions of the BSD License\r
12# which accompanies this distribution. The full text of the license may be found at\r
13# http://opensource.org/licenses/bsd-license.php\r
14#\r
15# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
16# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
17#\r
18##\r
19\r
20[Defines]\r
21 INF_VERSION = 0x00010005\r
22 BASE_NAME = PiSmmCpuDxeSmm\r
23 MODULE_UNI_FILE = PiSmmCpuDxeSmm.uni\r
24 FILE_GUID = A3FF0EF5-0C28-42f5-B544-8C7DE1E80014\r
25 MODULE_TYPE = DXE_SMM_DRIVER\r
26 VERSION_STRING = 1.0\r
27 PI_SPECIFICATION_VERSION = 0x0001000A\r
28 ENTRY_POINT = PiCpuSmmEntry\r
29\r
30#\r
31# The following information is for reference only and not required by the build tools.\r
32#\r
33# VALID_ARCHITECTURES = IA32 X64\r
34#\r
35\r
36[Sources]\r
37 PiSmmCpuDxeSmm.c\r
38 PiSmmCpuDxeSmm.h\r
39 MpService.c\r
40 SyncTimer.c\r
41 CpuS3.c\r
42 CpuService.c\r
43 CpuService.h\r
44 SmmProfile.c\r
45 SmmProfile.h\r
46 SmmProfileInternal.h\r
47 SmramSaveState.c\r
717fb604 48 SmmCpuMemoryManagement.c\r
529a5a86
MK
49\r
50[Sources.Ia32]\r
51 Ia32/Semaphore.c\r
52 Ia32/PageTbl.c\r
fe5f1949 53 Ia32/SmmFuncsArch.c\r
529a5a86
MK
54 Ia32/SmmProfileArch.c\r
55 Ia32/SmmProfileArch.h\r
ad9ec7ef
LG
56 Ia32/SmmInit.asm\r
57 Ia32/SmiEntry.asm\r
58 Ia32/SmiException.asm\r
59 Ia32/MpFuncs.asm\r
529a5a86 60\r
ad9ec7ef
LG
61 Ia32/SmmInit.nasm\r
62 Ia32/SmiEntry.nasm\r
63 Ia32/SmiException.nasm\r
64 Ia32/MpFuncs.nasm\r
529a5a86 65\r
ad9ec7ef
LG
66 Ia32/SmmInit.S\r
67 Ia32/SmiEntry.S\r
68 Ia32/SmiException.S\r
69 Ia32/MpFuncs.S\r
529a5a86
MK
70\r
71[Sources.X64]\r
72 X64/Semaphore.c\r
73 X64/PageTbl.c\r
fe5f1949 74 X64/SmmFuncsArch.c\r
529a5a86
MK
75 X64/SmmProfileArch.c\r
76 X64/SmmProfileArch.h\r
ad9ec7ef
LG
77 X64/SmmInit.asm\r
78 X64/SmiEntry.asm\r
79 X64/SmiException.asm\r
80 X64/MpFuncs.asm\r
529a5a86 81\r
ad9ec7ef
LG
82 X64/SmmInit.nasm\r
83 X64/SmiEntry.nasm\r
84 X64/SmiException.nasm\r
85 X64/MpFuncs.nasm\r
529a5a86 86\r
ad9ec7ef
LG
87 X64/SmmInit.S\r
88 X64/SmiEntry.S\r
89 X64/SmiException.S\r
90 X64/MpFuncs.S\r
529a5a86
MK
91\r
92[Packages]\r
93 MdePkg/MdePkg.dec\r
94 MdeModulePkg/MdeModulePkg.dec\r
95 UefiCpuPkg/UefiCpuPkg.dec\r
529a5a86
MK
96\r
97[LibraryClasses]\r
98 UefiDriverEntryPoint\r
99 UefiRuntimeServicesTableLib\r
100 CacheMaintenanceLib\r
101 PcdLib\r
102 DebugLib\r
103 BaseLib\r
104 SynchronizationLib\r
105 BaseMemoryLib\r
106 MtrrLib\r
529a5a86
MK
107 IoLib\r
108 TimerLib\r
109 SmmServicesTableLib\r
110 MemoryAllocationLib\r
111 DebugAgentLib\r
112 HobLib\r
113 PciLib\r
114 LocalApicLib\r
115 UefiCpuLib\r
116 SmmCpuPlatformHookLib\r
117 CpuExceptionHandlerLib\r
118 UefiLib\r
119 DxeServicesTableLib\r
120 CpuLib\r
121 ReportStatusCodeLib\r
122 SmmCpuFeaturesLib\r
123 PeCoffGetEntryPointLib\r
124\r
125[Protocols]\r
126 gEfiSmmAccess2ProtocolGuid ## CONSUMES\r
127 gEfiMpServiceProtocolGuid ## CONSUMES\r
128 gEfiSmmConfigurationProtocolGuid ## PRODUCES\r
129 gEfiSmmCpuProtocolGuid ## PRODUCES\r
130 gEfiSmmReadyToLockProtocolGuid ## NOTIFY\r
131 gEfiSmmCpuServiceProtocolGuid ## PRODUCES\r
af4f4b34 132 gEdkiiSmmMemoryAttributeProtocolGuid ## PRODUCES
529a5a86
MK
133\r
134[Guids]\r
135 gEfiAcpiVariableGuid ## SOMETIMES_CONSUMES ## HOB # it is used for S3 boot.\r
136 gEfiGlobalVariableGuid ## SOMETIMES_PRODUCES ## Variable:L"SmmProfileData"\r
137 gEfiAcpi20TableGuid ## SOMETIMES_CONSUMES ## SystemTable\r
138 gEfiAcpi10TableGuid ## SOMETIMES_CONSUMES ## SystemTable\r
717fb604 139 gEdkiiPiSmmMemoryAttributesTableGuid ## CONSUMES ## SystemTable\r
529a5a86
MK
140\r
141[FeaturePcd]\r
529a5a86
MK
142 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmDebug ## CONSUMES\r
143 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmBlockStartupThisAp ## CONSUMES\r
144 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmEnableBspElection ## CONSUMES\r
145 gUefiCpuPkgTokenSpaceGuid.PcdCpuHotPlugSupport ## CONSUMES\r
146 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStackGuard ## CONSUMES\r
147 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmProfileEnable ## CONSUMES\r
148 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmProfileRingBuffer ## CONSUMES\r
149 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmFeatureControlMsrLock ## CONSUMES\r
150\r
151[Pcd]\r
152 gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber ## SOMETIMES_CONSUMES\r
153 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmProfileSize ## SOMETIMES_CONSUMES\r
154 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStackSize ## CONSUMES\r
155 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmApSyncTimeout ## CONSUMES\r
156 gUefiCpuPkgTokenSpaceGuid.PcdCpuS3DataAddress ## SOMETIMES_CONSUMES\r
157 gUefiCpuPkgTokenSpaceGuid.PcdCpuHotPlugDataAddress ## SOMETIMES_PRODUCES\r
158 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmCodeAccessCheckEnable ## CONSUMES\r
159 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmSyncMode ## CONSUMES\r
717fb604 160 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStaticPageTable ## CONSUMES\r
b10d5ddc 161 gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiS3Enable ## CONSUMES\r
241f9149 162 gEfiMdeModulePkgTokenSpaceGuid.PcdPteMemoryEncryptionAddressOrMask ## CONSUMES\r
f8c1133b 163 gEfiMdeModulePkgTokenSpaceGuid.PcdNullPointerDetectionPropertyMask ## CONSUMES\r
af4f4b34 164 gEfiMdeModulePkgTokenSpaceGuid.PcdHeapGuardPropertyMask ## CONSUMES
529a5a86
MK
165\r
166[Depex]\r
eadf70bd 167 gEfiMpServiceProtocolGuid\r
529a5a86
MK
168\r
169[UserExtensions.TianoCore."ExtraFiles"]\r
170 PiSmmCpuDxeSmmExtra.uni\r