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 - 2015, 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 48[Sources.Ia32] 49 Ia32/Semaphore.c 50 Ia32/PageTbl.c 51 Ia32/SmmFuncsArch.c 52 Ia32/SmmProfileArch.c 53 Ia32/SmmProfileArch.h 54 Ia32/SmmInit.asm | MSFT 55 Ia32/SmiEntry.asm | MSFT 56 Ia32/SmiException.asm | MSFT 57 Ia32/MpFuncs.asm | MSFT 58 59 Ia32/SmmInit.asm | INTEL 60 Ia32/SmiEntry.asm | INTEL 61 Ia32/SmiException.asm | INTEL 62 Ia32/MpFuncs.asm | INTEL 63 64 Ia32/SmmInit.S | GCC 65 Ia32/SmiEntry.S | GCC 66 Ia32/SmiException.S | GCC 67 Ia32/MpFuncs.S | GCC 68 69[Sources.X64] 70 X64/Semaphore.c 71 X64/PageTbl.c 72 X64/SmmFuncsArch.c 73 X64/SmmProfileArch.c 74 X64/SmmProfileArch.h 75 X64/SmmInit.asm | MSFT 76 X64/SmiEntry.asm | MSFT 77 X64/SmiException.asm | MSFT 78 X64/MpFuncs.asm | MSFT 79 80 X64/SmmInit.asm | INTEL 81 X64/SmiEntry.asm | INTEL 82 X64/SmiException.asm | INTEL 83 X64/MpFuncs.asm | INTEL 84 85 X64/SmmInit.S | GCC 86 X64/SmiEntry.S | GCC 87 X64/SmiException.S | GCC 88 X64/MpFuncs.S | GCC 89 90[Packages] 91 MdePkg/MdePkg.dec 92 MdeModulePkg/MdeModulePkg.dec 93 UefiCpuPkg/UefiCpuPkg.dec 94 95[LibraryClasses] 96 UefiDriverEntryPoint 97 UefiRuntimeServicesTableLib 98 CacheMaintenanceLib 99 PcdLib 100 DebugLib 101 BaseLib 102 SynchronizationLib 103 BaseMemoryLib 104 MtrrLib 105 IoLib 106 TimerLib 107 SmmServicesTableLib 108 MemoryAllocationLib 109 DebugAgentLib 110 HobLib 111 PciLib 112 LocalApicLib 113 UefiCpuLib 114 SmmCpuPlatformHookLib 115 CpuExceptionHandlerLib 116 UefiLib 117 DxeServicesTableLib 118 CpuLib 119 ReportStatusCodeLib 120 SmmCpuFeaturesLib 121 PeCoffGetEntryPointLib 122 123[Protocols] 124 gEfiSmmAccess2ProtocolGuid ## CONSUMES 125 gEfiMpServiceProtocolGuid ## CONSUMES 126 gEfiSmmConfigurationProtocolGuid ## PRODUCES 127 gEfiSmmCpuProtocolGuid ## PRODUCES 128 gEfiSmmReadyToLockProtocolGuid ## NOTIFY 129 gEfiSmmCpuServiceProtocolGuid ## PRODUCES 130 131[Guids] 132 gEfiAcpiVariableGuid ## SOMETIMES_CONSUMES ## HOB # it is used for S3 boot. 133 gEfiGlobalVariableGuid ## SOMETIMES_PRODUCES ## Variable:L"SmmProfileData" 134 gEfiAcpi20TableGuid ## SOMETIMES_CONSUMES ## SystemTable 135 gEfiAcpi10TableGuid ## SOMETIMES_CONSUMES ## SystemTable 136 137[FeaturePcd] 138 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmDebug ## CONSUMES 139 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmBlockStartupThisAp ## CONSUMES 140 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmEnableBspElection ## CONSUMES 141 gUefiCpuPkgTokenSpaceGuid.PcdCpuHotPlugSupport ## CONSUMES 142 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStackGuard ## CONSUMES 143 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmProfileEnable ## CONSUMES 144 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmProfileRingBuffer ## CONSUMES 145 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmFeatureControlMsrLock ## CONSUMES 146 147[Pcd] 148 gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber ## SOMETIMES_CONSUMES 149 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmProfileSize ## SOMETIMES_CONSUMES 150 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStackSize ## CONSUMES 151 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmApSyncTimeout ## CONSUMES 152 gUefiCpuPkgTokenSpaceGuid.PcdCpuS3DataAddress ## SOMETIMES_CONSUMES 153 gUefiCpuPkgTokenSpaceGuid.PcdCpuHotPlugDataAddress ## SOMETIMES_PRODUCES 154 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmCodeAccessCheckEnable ## CONSUMES 155 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmSyncMode ## CONSUMES 156 157[Depex] 158 gEfiMpServiceProtocolGuid 159 160[UserExtensions.TianoCore."ExtraFiles"] 161 PiSmmCpuDxeSmmExtra.uni 162