BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3582 Improve the MemEncryptSev{Es,Snp}IsEnabled() to use the SEV_STATUS MSR value saved in the workarea. Since workarea is valid until the PEI phase, so, for the Dxe phase use the PcdConfidentialComputingGuestAttr to determine which SEV technology is enabled. Cc: Min Xu <min.m.xu@intel.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Tom Lendacky <thomas.lendacky@amd.com> Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Ard Biesheuvel <ardb+tianocore@kernel.org> Cc: Erdem Aktas <erdemaktas@google.com> Cc: Gerd Hoffmann <kraxel@redhat.com> Acked-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Brijesh Singh <brijesh.singh@amd.com> Acked-by: Jiewen Yao <jiewen.yao@intel.com>
66 lines
1.6 KiB
INI
66 lines
1.6 KiB
INI
## @file
|
|
# Library provides the helper functions for SEV guest
|
|
#
|
|
# Copyright (c) 2020 Advanced Micro Devices. All rights reserved.<BR>
|
|
#
|
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
#
|
|
#
|
|
##
|
|
|
|
[Defines]
|
|
INF_VERSION = 1.25
|
|
BASE_NAME = PeiMemEncryptSevLib
|
|
FILE_GUID = 15d9a694-3d2a-4184-9672-ba55c3070e07
|
|
MODULE_TYPE = BASE
|
|
VERSION_STRING = 1.0
|
|
LIBRARY_CLASS = MemEncryptSevLib|PEIM
|
|
|
|
#
|
|
# The following information is for reference only and not required by the build
|
|
# tools.
|
|
#
|
|
# VALID_ARCHITECTURES = IA32 X64
|
|
#
|
|
|
|
[Packages]
|
|
MdeModulePkg/MdeModulePkg.dec
|
|
MdePkg/MdePkg.dec
|
|
OvmfPkg/OvmfPkg.dec
|
|
UefiCpuPkg/UefiCpuPkg.dec
|
|
|
|
[Sources]
|
|
PeiDxeMemEncryptSevLibInternal.c
|
|
PeiMemEncryptSevLibInternal.c
|
|
|
|
[Sources.X64]
|
|
X64/MemEncryptSevLib.c
|
|
X64/PeiDxeVirtualMemory.c
|
|
X64/PeiSnpSystemRamValidate.c
|
|
X64/SnpPageStateChangeInternal.c
|
|
X64/VirtualMemory.c
|
|
X64/VirtualMemory.h
|
|
|
|
[Sources.IA32]
|
|
Ia32/MemEncryptSevLib.c
|
|
|
|
[LibraryClasses]
|
|
BaseLib
|
|
CacheMaintenanceLib
|
|
CpuLib
|
|
DebugLib
|
|
MemoryAllocationLib
|
|
PcdLib
|
|
VmgExitLib
|
|
|
|
[FeaturePcd]
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdSmmSmramRequire
|
|
|
|
[FixedPcd]
|
|
gUefiCpuPkgTokenSpaceGuid.PcdSevEsWorkAreaBase
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfWorkAreaBase
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvBase
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPageTablesBase
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecValidatedEnd
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecValidatedStart
|