]> git.proxmox.com Git - mirror_edk2.git/blame - UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf
UefiCpuPkg/PiSmmCpu: Add Shadow Stack Support for X86 SMM.
[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
3eb69b08 7# Copyright (c) 2009 - 2019, 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.nasm\r
57 Ia32/SmiEntry.nasm\r
58 Ia32/SmiException.nasm\r
59 Ia32/MpFuncs.nasm\r
3eb69b08 60 Ia32/Cet.nasm\r
529a5a86 61\r
529a5a86
MK
62[Sources.X64]\r
63 X64/Semaphore.c\r
64 X64/PageTbl.c\r
fe5f1949 65 X64/SmmFuncsArch.c\r
529a5a86
MK
66 X64/SmmProfileArch.c\r
67 X64/SmmProfileArch.h\r
ad9ec7ef
LG
68 X64/SmmInit.nasm\r
69 X64/SmiEntry.nasm\r
70 X64/SmiException.nasm\r
71 X64/MpFuncs.nasm\r
3eb69b08 72 X64/Cet.nasm\r
529a5a86 73\r
529a5a86
MK
74[Packages]\r
75 MdePkg/MdePkg.dec\r
76 MdeModulePkg/MdeModulePkg.dec\r
77 UefiCpuPkg/UefiCpuPkg.dec\r
529a5a86
MK
78\r
79[LibraryClasses]\r
80 UefiDriverEntryPoint\r
81 UefiRuntimeServicesTableLib\r
529a5a86
MK
82 PcdLib\r
83 DebugLib\r
84 BaseLib\r
85 SynchronizationLib\r
86 BaseMemoryLib\r
87 MtrrLib\r
529a5a86
MK
88 IoLib\r
89 TimerLib\r
90 SmmServicesTableLib\r
91 MemoryAllocationLib\r
92 DebugAgentLib\r
93 HobLib\r
94 PciLib\r
95 LocalApicLib\r
96 UefiCpuLib\r
97 SmmCpuPlatformHookLib\r
98 CpuExceptionHandlerLib\r
99 UefiLib\r
100 DxeServicesTableLib\r
101 CpuLib\r
102 ReportStatusCodeLib\r
103 SmmCpuFeaturesLib\r
104 PeCoffGetEntryPointLib\r
105\r
106[Protocols]\r
107 gEfiSmmAccess2ProtocolGuid ## CONSUMES\r
108 gEfiMpServiceProtocolGuid ## CONSUMES\r
109 gEfiSmmConfigurationProtocolGuid ## PRODUCES\r
110 gEfiSmmCpuProtocolGuid ## PRODUCES\r
111 gEfiSmmReadyToLockProtocolGuid ## NOTIFY\r
112 gEfiSmmCpuServiceProtocolGuid ## PRODUCES\r
827330cc 113 gEdkiiSmmMemoryAttributeProtocolGuid ## PRODUCES\r
529a5a86
MK
114\r
115[Guids]\r
116 gEfiAcpiVariableGuid ## SOMETIMES_CONSUMES ## HOB # it is used for S3 boot.\r
717fb604 117 gEdkiiPiSmmMemoryAttributesTableGuid ## CONSUMES ## SystemTable\r
8a2e1a9d 118 gEfiMemoryAttributesTableGuid ## CONSUMES ## SystemTable\r
529a5a86
MK
119\r
120[FeaturePcd]\r
529a5a86
MK
121 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmDebug ## CONSUMES\r
122 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmBlockStartupThisAp ## CONSUMES\r
123 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmEnableBspElection ## CONSUMES\r
124 gUefiCpuPkgTokenSpaceGuid.PcdCpuHotPlugSupport ## CONSUMES\r
125 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStackGuard ## CONSUMES\r
126 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmProfileEnable ## CONSUMES\r
127 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmProfileRingBuffer ## CONSUMES\r
128 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmFeatureControlMsrLock ## CONSUMES\r
129\r
130[Pcd]\r
131 gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber ## SOMETIMES_CONSUMES\r
132 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmProfileSize ## SOMETIMES_CONSUMES\r
133 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStackSize ## CONSUMES\r
134 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmApSyncTimeout ## CONSUMES\r
135 gUefiCpuPkgTokenSpaceGuid.PcdCpuS3DataAddress ## SOMETIMES_CONSUMES\r
136 gUefiCpuPkgTokenSpaceGuid.PcdCpuHotPlugDataAddress ## SOMETIMES_PRODUCES\r
137 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmCodeAccessCheckEnable ## CONSUMES\r
138 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmSyncMode ## CONSUMES\r
717fb604 139 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStaticPageTable ## CONSUMES\r
3eb69b08 140 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmShadowStackSize ## SOMETIMES_CONSUMES\r
b10d5ddc 141 gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiS3Enable ## CONSUMES\r
241f9149 142 gEfiMdeModulePkgTokenSpaceGuid.PcdPteMemoryEncryptionAddressOrMask ## CONSUMES\r
f8c1133b 143 gEfiMdeModulePkgTokenSpaceGuid.PcdNullPointerDetectionPropertyMask ## CONSUMES\r
827330cc 144 gEfiMdeModulePkgTokenSpaceGuid.PcdHeapGuardPropertyMask ## CONSUMES\r
3eb69b08 145 gEfiMdePkgTokenSpaceGuid.PcdControlFlowEnforcementPropertyMask ## CONSUMES\r
529a5a86
MK
146\r
147[Depex]\r
eadf70bd 148 gEfiMpServiceProtocolGuid\r
529a5a86
MK
149\r
150[UserExtensions.TianoCore."ExtraFiles"]\r
151 PiSmmCpuDxeSmmExtra.uni\r