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 166