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