OvmfPkg: Refine SmmAccess implementation
This patch refines the SmmAccess implementation: 1. SmramMap will be retrieved from the gEfiSmmSmramMemoryGuid instead of original from the TSEG Memory Base register. 2. Remove the gEfiAcpiVariableGuid creation, thus the DESCRIPTOR_INDEX definition can be also cleaned. 3. The gEfiAcpiVariableGuid HOB is moved to the OvmfPkg/Library/PlatformInitLib/PlatformInitLib.inf. Cc: Ard Biesheuvel <ardb+tianocore@kernel.org> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Gerd Hoffmann <kraxel@redhat.com> Cc: Ray Ni <ray.ni@intel.com> Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com> Tested-by: Gerd Hoffmann <kraxel@redhat.com> Acked-by: Gerd Hoffmann <kraxel@redhat.com> Acked-by: Jiewen Yao <Jiewen.yao@intel.com>
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
Functions and types shared by the SMM accessor PEI and DXE modules.
|
||||
|
||||
Copyright (C) 2015, Red Hat, Inc.
|
||||
Copyright (c) 2024 Intel Corporation.
|
||||
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
@@ -10,20 +11,8 @@
|
||||
|
||||
#include <Pi/PiMultiPhase.h>
|
||||
|
||||
//
|
||||
// We'll have two SMRAM ranges.
|
||||
//
|
||||
// The first is a tiny one that hosts an SMM_S3_RESUME_STATE object, to be
|
||||
// filled in by the CPU SMM driver during normal boot, for the PEI instance of
|
||||
// the LockBox library (which will rely on the object during S3 resume).
|
||||
//
|
||||
// The other SMRAM range is the main one, for the SMM core and the SMM drivers.
|
||||
//
|
||||
typedef enum {
|
||||
DescIdxSmmS3ResumeState = 0,
|
||||
DescIdxMain = 1,
|
||||
DescIdxCount = 2
|
||||
} DESCRIPTOR_INDEX;
|
||||
#include <Guid/SmramMemoryReserve.h>
|
||||
#include <Library/HobLib.h>
|
||||
|
||||
//
|
||||
// The value of PcdQ35TsegMbytes is saved into this variable at module startup.
|
||||
@@ -97,8 +86,6 @@ SmramAccessLock (
|
||||
|
||||
EFI_STATUS
|
||||
SmramAccessGetCapabilities (
|
||||
IN BOOLEAN LockState,
|
||||
IN BOOLEAN OpenState,
|
||||
IN OUT UINTN *SmramMapSize,
|
||||
IN OUT EFI_SMRAM_DESCRIPTOR *SmramMap
|
||||
);
|
||||
|
Reference in New Issue
Block a user