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