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 - 2019, 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 112[Guids] 113 gEfiAcpiVariableGuid ## SOMETIMES_CONSUMES ## HOB # it is used for S3 boot. 114 gEdkiiPiSmmMemoryAttributesTableGuid ## CONSUMES ## SystemTable 115 gEfiMemoryAttributesTableGuid ## CONSUMES ## SystemTable 116 117[FeaturePcd] 118 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmDebug ## CONSUMES 119 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmBlockStartupThisAp ## CONSUMES 120 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmEnableBspElection ## CONSUMES 121 gUefiCpuPkgTokenSpaceGuid.PcdCpuHotPlugSupport ## CONSUMES 122 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStackGuard ## CONSUMES 123 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmProfileEnable ## CONSUMES 124 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmProfileRingBuffer ## CONSUMES 125 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmFeatureControlMsrLock ## CONSUMES 126 127[Pcd] 128 gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber ## SOMETIMES_CONSUMES 129 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmProfileSize ## SOMETIMES_CONSUMES 130 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStackSize ## CONSUMES 131 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmApSyncTimeout ## CONSUMES 132 gUefiCpuPkgTokenSpaceGuid.PcdCpuS3DataAddress ## SOMETIMES_CONSUMES 133 gUefiCpuPkgTokenSpaceGuid.PcdCpuHotPlugDataAddress ## SOMETIMES_PRODUCES 134 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmCodeAccessCheckEnable ## CONSUMES 135 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmSyncMode ## CONSUMES 136 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmShadowStackSize ## SOMETIMES_CONSUMES 137 gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiS3Enable ## CONSUMES 138 gEfiMdeModulePkgTokenSpaceGuid.PcdPteMemoryEncryptionAddressOrMask ## CONSUMES 139 gEfiMdeModulePkgTokenSpaceGuid.PcdNullPointerDetectionPropertyMask ## CONSUMES 140 gEfiMdeModulePkgTokenSpaceGuid.PcdHeapGuardPropertyMask ## CONSUMES 141 gEfiMdePkgTokenSpaceGuid.PcdControlFlowEnforcementPropertyMask ## CONSUMES 142 143[FixedPcd] 144 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmMpTokenCountPerChunk ## CONSUMES 145 146[Pcd.X64] 147 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmRestrictedMemoryAccess ## CONSUMES 148 149[Depex] 150 gEfiMpServiceProtocolGuid 151 152[UserExtensions.TianoCore."ExtraFiles"] 153 PiSmmCpuDxeSmmExtra.uni 154