]> git.proxmox.com Git - mirror_edk2.git/blob - UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf
9bfa8c1a7607a8088d052ea7923266cfd1d96818
[mirror_edk2.git] / UefiCpuPkg / PiSmmCpuDxeSmm / PiSmmCpuDxeSmm.inf
1 ## @file
2 # CPU SMM driver.
3 #
4 # This SMM driver performs SMM initialization, deploy SMM Entry Vector,
5 # provides CPU specific services in SMM.
6 #
7 # Copyright (c) 2009 - 2023, Intel Corporation. All rights reserved.<BR>
8 # Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR>
9 #
10 # SPDX-License-Identifier: BSD-2-Clause-Patent
11 #
12 ##
13
14 [Defines]
15 INF_VERSION = 0x00010005
16 BASE_NAME = PiSmmCpuDxeSmm
17 MODULE_UNI_FILE = PiSmmCpuDxeSmm.uni
18 FILE_GUID = A3FF0EF5-0C28-42f5-B544-8C7DE1E80014
19 MODULE_TYPE = DXE_SMM_DRIVER
20 VERSION_STRING = 1.0
21 PI_SPECIFICATION_VERSION = 0x0001000A
22 ENTRY_POINT = PiCpuSmmEntry
23
24 #
25 # The following information is for reference only and not required by the build tools.
26 #
27 # VALID_ARCHITECTURES = IA32 X64
28 #
29
30 [Sources]
31 PiSmmCpuDxeSmm.c
32 PiSmmCpuDxeSmm.h
33 MpService.c
34 SyncTimer.c
35 CpuS3.c
36 CpuService.c
37 CpuService.h
38 SmmProfile.c
39 SmmProfile.h
40 SmmProfileInternal.h
41 SmramSaveState.c
42 SmmCpuMemoryManagement.c
43 SmmMp.h
44 SmmMp.c
45
46 [Sources.Ia32]
47 Ia32/Semaphore.c
48 Ia32/PageTbl.c
49 Ia32/SmmFuncsArch.c
50 Ia32/SmmProfileArch.c
51 Ia32/SmmProfileArch.h
52 Ia32/SmmInit.nasm
53 Ia32/SmiEntry.nasm
54 Ia32/SmiException.nasm
55 Ia32/MpFuncs.nasm
56 Ia32/Cet.nasm
57
58 [Sources.X64]
59 X64/Semaphore.c
60 X64/PageTbl.c
61 X64/SmmFuncsArch.c
62 X64/SmmProfileArch.c
63 X64/SmmProfileArch.h
64 X64/SmmInit.nasm
65 X64/SmiEntry.nasm
66 X64/SmiException.nasm
67 X64/MpFuncs.nasm
68 X64/Cet.nasm
69
70 [Packages]
71 MdePkg/MdePkg.dec
72 MdeModulePkg/MdeModulePkg.dec
73 UefiCpuPkg/UefiCpuPkg.dec
74
75 [LibraryClasses]
76 UefiDriverEntryPoint
77 UefiRuntimeServicesTableLib
78 PcdLib
79 DebugLib
80 BaseLib
81 SynchronizationLib
82 BaseMemoryLib
83 MtrrLib
84 IoLib
85 TimerLib
86 SmmServicesTableLib
87 MemoryAllocationLib
88 DebugAgentLib
89 HobLib
90 PciLib
91 LocalApicLib
92 UefiCpuLib
93 SmmCpuPlatformHookLib
94 CpuExceptionHandlerLib
95 UefiLib
96 DxeServicesTableLib
97 CpuLib
98 ReportStatusCodeLib
99 SmmCpuFeaturesLib
100 PeCoffGetEntryPointLib
101
102 [Protocols]
103 gEfiSmmAccess2ProtocolGuid ## CONSUMES
104 gEfiMpServiceProtocolGuid ## CONSUMES
105 gEfiSmmConfigurationProtocolGuid ## PRODUCES
106 gEfiSmmCpuProtocolGuid ## PRODUCES
107 gEfiSmmReadyToLockProtocolGuid ## NOTIFY
108 gEfiSmmCpuServiceProtocolGuid ## PRODUCES
109 gEdkiiSmmMemoryAttributeProtocolGuid ## PRODUCES
110 gEfiMmMpProtocolGuid ## PRODUCES
111 gEdkiiSmmCpuRendezvousProtocolGuid ## PRODUCES
112
113 [Guids]
114 gEfiAcpiVariableGuid ## SOMETIMES_CONSUMES ## HOB # it is used for S3 boot.
115 gEdkiiPiSmmMemoryAttributesTableGuid ## CONSUMES ## SystemTable
116 gEfiMemoryAttributesTableGuid ## CONSUMES ## SystemTable
117 gSmmBaseHobGuid ## CONSUMES
118
119 [FeaturePcd]
120 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmDebug ## CONSUMES
121 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmBlockStartupThisAp ## CONSUMES
122 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmEnableBspElection ## CONSUMES
123 gUefiCpuPkgTokenSpaceGuid.PcdCpuHotPlugSupport ## CONSUMES
124 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStackGuard ## CONSUMES
125 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmProfileEnable ## CONSUMES
126 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmProfileRingBuffer ## CONSUMES
127 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmFeatureControlMsrLock ## CONSUMES
128 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode ## CONSUMES
129
130 [Pcd]
131 gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber ## SOMETIMES_CONSUMES
132 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmProfileSize ## SOMETIMES_CONSUMES
133 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStackSize ## CONSUMES
134 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmApSyncTimeout ## CONSUMES
135 gUefiCpuPkgTokenSpaceGuid.PcdCpuS3DataAddress ## SOMETIMES_CONSUMES
136 gUefiCpuPkgTokenSpaceGuid.PcdCpuHotPlugDataAddress ## SOMETIMES_PRODUCES
137 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmCodeAccessCheckEnable ## CONSUMES
138 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmSyncMode ## CONSUMES
139 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmShadowStackSize ## SOMETIMES_CONSUMES
140 gUefiCpuPkgTokenSpaceGuid.PcdCpuFeaturesInitOnS3Resume ## CONSUMES
141 gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiS3Enable ## CONSUMES
142 gEfiMdeModulePkgTokenSpaceGuid.PcdPteMemoryEncryptionAddressOrMask ## CONSUMES
143 gEfiMdeModulePkgTokenSpaceGuid.PcdNullPointerDetectionPropertyMask ## CONSUMES
144 gEfiMdeModulePkgTokenSpaceGuid.PcdHeapGuardPropertyMask ## CONSUMES
145 gEfiMdePkgTokenSpaceGuid.PcdControlFlowEnforcementPropertyMask ## CONSUMES
146
147 [FixedPcd]
148 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmMpTokenCountPerChunk ## CONSUMES
149
150 [Pcd.X64]
151 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmRestrictedMemoryAccess ## CONSUMES
152
153 [Depex]
154 gEfiMpServiceProtocolGuid
155
156 [UserExtensions.TianoCore."ExtraFiles"]
157 PiSmmCpuDxeSmmExtra.uni