Some redundant library classes Ppis and GUIDs have been removed in inf, .c and .h files. v2: 1.Remove ReadOnlyVariable2.h in S3Resume.c which should be deleted in last version in which gEfiPeiReadOnlyVariable2PpiGuid was removed. 2.Remove the library class BaseLib in CpuPageTable.c which is included elsewhere. 3.Add library classes in SecCore.inf which are removed at last version. They are DebugAgentLib and CpuExceptionHandlerLib. 4.Add two Ppis in SecCore.inf which are removed at last version. They are gEfiSecPlatformInformationPpiGuid and gEfiSecPlatformInformation2PpiGuid. https://bugzilla.tianocore.org/show_bug.cgi?id=1043 https://bugzilla.tianocore.org/show_bug.cgi?id=1013 https://bugzilla.tianocore.org/show_bug.cgi?id=1032 https://bugzilla.tianocore.org/show_bug.cgi?id=1016 Cc: Eric Dong <eric.dong@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: shenglei <shenglei.zhang@intel.com> Reviewed-by: Eric Dong <eric.dong@intel.com>
150 lines
5.1 KiB
INI
150 lines
5.1 KiB
INI
## @file
|
|
# CPU SMM driver.
|
|
#
|
|
# This SMM driver performs SMM initialization, deploy SMM Entry Vector,
|
|
# provides CPU specific services in SMM.
|
|
#
|
|
# Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>
|
|
# Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR>
|
|
#
|
|
# This program and the accompanying materials
|
|
# are licensed and made available under the terms and conditions of the BSD License
|
|
# which accompanies this distribution. The full text of the license may be found at
|
|
# http://opensource.org/licenses/bsd-license.php
|
|
#
|
|
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|
#
|
|
##
|
|
|
|
[Defines]
|
|
INF_VERSION = 0x00010005
|
|
BASE_NAME = PiSmmCpuDxeSmm
|
|
MODULE_UNI_FILE = PiSmmCpuDxeSmm.uni
|
|
FILE_GUID = A3FF0EF5-0C28-42f5-B544-8C7DE1E80014
|
|
MODULE_TYPE = DXE_SMM_DRIVER
|
|
VERSION_STRING = 1.0
|
|
PI_SPECIFICATION_VERSION = 0x0001000A
|
|
ENTRY_POINT = PiCpuSmmEntry
|
|
|
|
#
|
|
# The following information is for reference only and not required by the build tools.
|
|
#
|
|
# VALID_ARCHITECTURES = IA32 X64
|
|
#
|
|
|
|
[Sources]
|
|
PiSmmCpuDxeSmm.c
|
|
PiSmmCpuDxeSmm.h
|
|
MpService.c
|
|
SyncTimer.c
|
|
CpuS3.c
|
|
CpuService.c
|
|
CpuService.h
|
|
SmmProfile.c
|
|
SmmProfile.h
|
|
SmmProfileInternal.h
|
|
SmramSaveState.c
|
|
SmmCpuMemoryManagement.c
|
|
|
|
[Sources.Ia32]
|
|
Ia32/Semaphore.c
|
|
Ia32/PageTbl.c
|
|
Ia32/SmmFuncsArch.c
|
|
Ia32/SmmProfileArch.c
|
|
Ia32/SmmProfileArch.h
|
|
Ia32/SmmInit.nasm
|
|
Ia32/SmiEntry.nasm
|
|
Ia32/SmiException.nasm
|
|
Ia32/MpFuncs.nasm
|
|
|
|
[Sources.X64]
|
|
X64/Semaphore.c
|
|
X64/PageTbl.c
|
|
X64/SmmFuncsArch.c
|
|
X64/SmmProfileArch.c
|
|
X64/SmmProfileArch.h
|
|
X64/SmmInit.nasm
|
|
X64/SmiEntry.nasm
|
|
X64/SmiException.nasm
|
|
X64/MpFuncs.nasm
|
|
|
|
[Packages]
|
|
MdePkg/MdePkg.dec
|
|
MdeModulePkg/MdeModulePkg.dec
|
|
UefiCpuPkg/UefiCpuPkg.dec
|
|
|
|
[LibraryClasses]
|
|
UefiDriverEntryPoint
|
|
UefiRuntimeServicesTableLib
|
|
PcdLib
|
|
DebugLib
|
|
BaseLib
|
|
SynchronizationLib
|
|
BaseMemoryLib
|
|
MtrrLib
|
|
IoLib
|
|
TimerLib
|
|
SmmServicesTableLib
|
|
MemoryAllocationLib
|
|
DebugAgentLib
|
|
HobLib
|
|
PciLib
|
|
LocalApicLib
|
|
UefiCpuLib
|
|
SmmCpuPlatformHookLib
|
|
CpuExceptionHandlerLib
|
|
UefiLib
|
|
DxeServicesTableLib
|
|
CpuLib
|
|
ReportStatusCodeLib
|
|
SmmCpuFeaturesLib
|
|
PeCoffGetEntryPointLib
|
|
|
|
[Protocols]
|
|
gEfiSmmAccess2ProtocolGuid ## CONSUMES
|
|
gEfiMpServiceProtocolGuid ## CONSUMES
|
|
gEfiSmmConfigurationProtocolGuid ## PRODUCES
|
|
gEfiSmmCpuProtocolGuid ## PRODUCES
|
|
gEfiSmmReadyToLockProtocolGuid ## NOTIFY
|
|
gEfiSmmCpuServiceProtocolGuid ## PRODUCES
|
|
gEdkiiSmmMemoryAttributeProtocolGuid ## PRODUCES
|
|
|
|
[Guids]
|
|
gEfiAcpiVariableGuid ## SOMETIMES_CONSUMES ## HOB # it is used for S3 boot.
|
|
gEfiAcpi20TableGuid ## SOMETIMES_CONSUMES ## SystemTable
|
|
gEfiAcpi10TableGuid ## SOMETIMES_CONSUMES ## SystemTable
|
|
gEdkiiPiSmmMemoryAttributesTableGuid ## CONSUMES ## SystemTable
|
|
gEfiMemoryAttributesTableGuid ## CONSUMES ## SystemTable
|
|
|
|
[FeaturePcd]
|
|
gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmDebug ## CONSUMES
|
|
gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmBlockStartupThisAp ## CONSUMES
|
|
gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmEnableBspElection ## CONSUMES
|
|
gUefiCpuPkgTokenSpaceGuid.PcdCpuHotPlugSupport ## CONSUMES
|
|
gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStackGuard ## CONSUMES
|
|
gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmProfileEnable ## CONSUMES
|
|
gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmProfileRingBuffer ## CONSUMES
|
|
gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmFeatureControlMsrLock ## CONSUMES
|
|
|
|
[Pcd]
|
|
gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber ## SOMETIMES_CONSUMES
|
|
gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmProfileSize ## SOMETIMES_CONSUMES
|
|
gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStackSize ## CONSUMES
|
|
gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmApSyncTimeout ## CONSUMES
|
|
gUefiCpuPkgTokenSpaceGuid.PcdCpuS3DataAddress ## SOMETIMES_CONSUMES
|
|
gUefiCpuPkgTokenSpaceGuid.PcdCpuHotPlugDataAddress ## SOMETIMES_PRODUCES
|
|
gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmCodeAccessCheckEnable ## CONSUMES
|
|
gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmSyncMode ## CONSUMES
|
|
gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStaticPageTable ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiS3Enable ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdPteMemoryEncryptionAddressOrMask ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdNullPointerDetectionPropertyMask ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdHeapGuardPropertyMask ## CONSUMES
|
|
|
|
[Depex]
|
|
gEfiMpServiceProtocolGuid
|
|
|
|
[UserExtensions.TianoCore."ExtraFiles"]
|
|
PiSmmCpuDxeSmmExtra.uni
|