UefiCpuPkg/PiSmmCpu: Check GCD and UEFI mem attrib table.
1) UefiCpuPkg/PiSmmCpu: Check for untested memory in GCD It treats GCD untested memory as invalid SMM communication buffer. 2) UefiCpuPkg/PiSmmCpu: Check EFI_RUNTIME_RO in UEFI mem attrib table. It treats the UEFI runtime page with EFI_MEMORY_RO attribute as invalid SMM communication buffer. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Jiewen Yao <jiewen.yao@intel.com>
This commit is contained in:
@@ -27,6 +27,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
#include <Protocol/SmmCpuService.h>
|
||||
|
||||
#include <Guid/AcpiS3Context.h>
|
||||
#include <Guid/MemoryAttributesTable.h>
|
||||
#include <Guid/PiSmmMemoryAttributesTable.h>
|
||||
|
||||
#include <Library/BaseLib.h>
|
||||
@@ -44,6 +45,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
#include <Library/UefiBootServicesTableLib.h>
|
||||
#include <Library/UefiRuntimeServicesTableLib.h>
|
||||
#include <Library/DebugAgentLib.h>
|
||||
#include <Library/UefiLib.h>
|
||||
#include <Library/HobLib.h>
|
||||
#include <Library/LocalApicLib.h>
|
||||
#include <Library/UefiCpuLib.h>
|
||||
@@ -419,6 +421,7 @@ extern SPIN_LOCK *mConfigSmmCodeAccessCheckLock;
|
||||
extern SPIN_LOCK *mMemoryMappedLock;
|
||||
extern EFI_SMRAM_DESCRIPTOR *mSmmCpuSmramRanges;
|
||||
extern UINTN mSmmCpuSmramRangeCount;
|
||||
extern UINT8 mPhysicalAddressBits;
|
||||
|
||||
//
|
||||
// Copy of the PcdPteMemoryEncryptionAddressOrMask
|
||||
|
Reference in New Issue
Block a user