# This SMM driver performs SMM initialization, deploy SMM Entry Vector,\r
# provides CPU specific services in SMM.\r
#\r
-# Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2009 - 2023, Intel Corporation. All rights reserved.<BR>\r
# Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR>\r
#\r
-# This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution. The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+# SPDX-License-Identifier: BSD-2-Clause-Patent\r
#\r
##\r
\r
SmmProfileInternal.h\r
SmramSaveState.c\r
SmmCpuMemoryManagement.c\r
+ SmmMp.h\r
+ SmmMp.c\r
\r
[Sources.Ia32]\r
Ia32/Semaphore.c\r
Ia32/SmmFuncsArch.c\r
Ia32/SmmProfileArch.c\r
Ia32/SmmProfileArch.h\r
- Ia32/SmmInit.asm\r
- Ia32/SmiEntry.asm\r
- Ia32/SmiException.asm\r
- Ia32/MpFuncs.asm\r
-\r
Ia32/SmmInit.nasm\r
Ia32/SmiEntry.nasm\r
Ia32/SmiException.nasm\r
Ia32/MpFuncs.nasm\r
-\r
- Ia32/SmmInit.S\r
- Ia32/SmiEntry.S\r
- Ia32/SmiException.S\r
- Ia32/MpFuncs.S\r
+ Ia32/Cet.nasm\r
\r
[Sources.X64]\r
X64/Semaphore.c\r
X64/SmmFuncsArch.c\r
X64/SmmProfileArch.c\r
X64/SmmProfileArch.h\r
- X64/SmmInit.asm\r
- X64/SmiEntry.asm\r
- X64/SmiException.asm\r
- X64/MpFuncs.asm\r
-\r
X64/SmmInit.nasm\r
X64/SmiEntry.nasm\r
X64/SmiException.nasm\r
X64/MpFuncs.nasm\r
-\r
- X64/SmmInit.S\r
- X64/SmiEntry.S\r
- X64/SmiException.S\r
- X64/MpFuncs.S\r
+ X64/Cet.nasm\r
\r
[Packages]\r
MdePkg/MdePkg.dec\r
[LibraryClasses]\r
UefiDriverEntryPoint\r
UefiRuntimeServicesTableLib\r
- CacheMaintenanceLib\r
PcdLib\r
DebugLib\r
BaseLib\r
gEfiSmmCpuProtocolGuid ## PRODUCES\r
gEfiSmmReadyToLockProtocolGuid ## NOTIFY\r
gEfiSmmCpuServiceProtocolGuid ## PRODUCES\r
+ gEdkiiSmmMemoryAttributeProtocolGuid ## PRODUCES\r
+ gEfiMmMpProtocolGuid ## PRODUCES\r
+ gEdkiiSmmCpuRendezvousProtocolGuid ## PRODUCES\r
\r
[Guids]\r
gEfiAcpiVariableGuid ## SOMETIMES_CONSUMES ## HOB # it is used for S3 boot.\r
- gEfiGlobalVariableGuid ## SOMETIMES_PRODUCES ## Variable:L"SmmProfileData"\r
- gEfiAcpi20TableGuid ## SOMETIMES_CONSUMES ## SystemTable\r
- gEfiAcpi10TableGuid ## SOMETIMES_CONSUMES ## SystemTable\r
gEdkiiPiSmmMemoryAttributesTableGuid ## CONSUMES ## SystemTable\r
+ gEfiMemoryAttributesTableGuid ## CONSUMES ## SystemTable\r
+ gSmmBaseHobGuid ## CONSUMES\r
\r
[FeaturePcd]\r
gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmDebug ## CONSUMES\r
gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmProfileEnable ## CONSUMES\r
gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmProfileRingBuffer ## CONSUMES\r
gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmFeatureControlMsrLock ## CONSUMES\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode ## CONSUMES\r
\r
[Pcd]\r
gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber ## SOMETIMES_CONSUMES\r
gUefiCpuPkgTokenSpaceGuid.PcdCpuHotPlugDataAddress ## SOMETIMES_PRODUCES\r
gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmCodeAccessCheckEnable ## CONSUMES\r
gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmSyncMode ## CONSUMES\r
- gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStaticPageTable ## CONSUMES\r
+ gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmShadowStackSize ## SOMETIMES_CONSUMES\r
+ gUefiCpuPkgTokenSpaceGuid.PcdCpuFeaturesInitOnS3Resume ## CONSUMES\r
gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiS3Enable ## CONSUMES\r
gEfiMdeModulePkgTokenSpaceGuid.PcdPteMemoryEncryptionAddressOrMask ## CONSUMES\r
gEfiMdeModulePkgTokenSpaceGuid.PcdNullPointerDetectionPropertyMask ## CONSUMES\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdHeapGuardPropertyMask ## CONSUMES\r
+ gEfiMdePkgTokenSpaceGuid.PcdControlFlowEnforcementPropertyMask ## CONSUMES\r
+\r
+[FixedPcd]\r
+ gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmMpTokenCountPerChunk ## CONSUMES\r
+\r
+[Pcd.X64]\r
+ gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmRestrictedMemoryAccess ## CONSUMES\r
\r
[Depex]\r
gEfiMpServiceProtocolGuid\r