mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-25 22:54:51 +02:00
OvmfPkg: Enable AMD SEV-ES DebugVirtualization
Write the feature bit into PcdConfidentialComputingGuestAttr and enable DebugVirtualization in PEI, SEC, DXE. Cc: Ard Biesheuvel <ardb+tianocore@kernel.org> Cc: Erdem Aktas <erdemaktas@google.com> Cc: Gerd Hoffmann <kraxel@redhat.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Michael Roth <michael.roth@amd.com> Cc: Min Xu <min.m.xu@intel.com> Reviewed-by: Tom Lendacky <thomas.lendacky@amd.com> Signed-off-by: Alexey Kardashevskiy <aik@amd.com> --- Changes: v5: * "rb" from Tom v4: * s/DebugSwap/DebugVirtualization/g
This commit is contained in:
parent
63a7152471
commit
2809966189
@ -154,5 +154,9 @@ MemEncryptSevEsDebugVirtualizationIsEnabled (
|
|||||||
VOID
|
VOID
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
return FALSE;
|
MSR_SEV_STATUS_REGISTER Msr;
|
||||||
|
|
||||||
|
Msr.Uint32 = InternalMemEncryptSevStatus ();
|
||||||
|
|
||||||
|
return Msr.Bits.DebugVirtualization ? TRUE : FALSE;
|
||||||
}
|
}
|
||||||
|
@ -154,7 +154,11 @@ MemEncryptSevEsDebugVirtualizationIsEnabled (
|
|||||||
VOID
|
VOID
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
return FALSE;
|
MSR_SEV_STATUS_REGISTER Msr;
|
||||||
|
|
||||||
|
Msr.Uint32 = InternalMemEncryptSevStatus ();
|
||||||
|
|
||||||
|
return Msr.Bits.DebugVirtualization ? TRUE : FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -434,6 +434,7 @@ AmdSevInitialize (
|
|||||||
)
|
)
|
||||||
{
|
{
|
||||||
UINT64 EncryptionMask;
|
UINT64 EncryptionMask;
|
||||||
|
UINT64 CCGuestAttr;
|
||||||
RETURN_STATUS PcdStatus;
|
RETURN_STATUS PcdStatus;
|
||||||
|
|
||||||
//
|
//
|
||||||
@ -517,13 +518,19 @@ AmdSevInitialize (
|
|||||||
// technology is active.
|
// technology is active.
|
||||||
//
|
//
|
||||||
if (MemEncryptSevSnpIsEnabled ()) {
|
if (MemEncryptSevSnpIsEnabled ()) {
|
||||||
PcdStatus = PcdSet64S (PcdConfidentialComputingGuestAttr, CCAttrAmdSevSnp);
|
CCGuestAttr = CCAttrAmdSevSnp;
|
||||||
} else if (MemEncryptSevEsIsEnabled ()) {
|
} else if (MemEncryptSevEsIsEnabled ()) {
|
||||||
PcdStatus = PcdSet64S (PcdConfidentialComputingGuestAttr, CCAttrAmdSevEs);
|
CCGuestAttr = CCAttrAmdSevEs;
|
||||||
} else {
|
} else {
|
||||||
PcdStatus = PcdSet64S (PcdConfidentialComputingGuestAttr, CCAttrAmdSev);
|
CCGuestAttr = CCAttrAmdSev;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (MemEncryptSevEsDebugVirtualizationIsEnabled ()) {
|
||||||
|
CCGuestAttr |= CCAttrFeatureAmdSevEsDebugVirtualization;
|
||||||
|
}
|
||||||
|
|
||||||
|
PcdStatus = PcdSet64S (PcdConfidentialComputingGuestAttr, CCGuestAttr);
|
||||||
|
|
||||||
ASSERT_RETURN_ERROR (PcdStatus);
|
ASSERT_RETURN_ERROR (PcdStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user