public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Alexey Kardashevskiy" <aik@amd.com>
To: <devel@edk2.groups.io>
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>,
	Jiewen Yao <jiewen.yao@intel.com>,
	Jordan Justen <jordan.l.justen@intel.com>,
	"Gerd Hoffmann" <kraxel@redhat.com>,
	Brijesh Singh <brijesh.singh@amd.com>,
	"Erdem Aktas" <erdemaktas@google.com>,
	James Bottomley <jejb@linux.ibm.com>, Min Xu <min.m.xu@intel.com>,
	Tom Lendacky <thomas.lendacky@amd.com>,
	"Alexey Kardashevskiy" <aik@amd.com>
Subject: [PATCH ovmf 4/5] UefiCpuPkg: Add AMD SEV-ES features support
Date: Thu, 1 Dec 2022 13:35:20 +1100	[thread overview]
Message-ID: <20221201023521.10028-5-aik@amd.com> (raw)
In-Reply-To: <20221201023521.10028-1-aik@amd.com>

CONFIDENTIAL_COMPUTING_GUEST_ATTR is not a simple SEV level anymore
and includes a feature mask since a previous commit.

This fixes AmdMemEncryptionAttrCheck to check the level and feature
correctly and adds DebugSwap support.

Since the actual feature flag is not set yet, this should cause
no behavioral change.

Signed-off-by: Alexey Kardashevskiy <aik@amd.com>
---
 UefiCpuPkg/Library/MpInitLib/MpLib.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/UefiCpuPkg/Library/MpInitLib/MpLib.c b/UefiCpuPkg/Library/MpInitLib/MpLib.c
index e5dc852ed95f..26e763295a7e 100644
--- a/UefiCpuPkg/Library/MpInitLib/MpLib.c
+++ b/UefiCpuPkg/Library/MpInitLib/MpLib.c
@@ -2849,19 +2849,23 @@ AmdMemEncryptionAttrCheck (
   IN  CONFIDENTIAL_COMPUTING_GUEST_ATTR  Attr
   )
 {
+  UINT64 CurrentLevel = CurrentAttr & ~CCAttrAmdSevFeatureMask;
+
   switch (Attr) {
     case CCAttrAmdSev:
       //
       // SEV is automatically enabled if SEV-ES or SEV-SNP is active.
       //
-      return CurrentAttr >= CCAttrAmdSev;
+      return CurrentLevel >= CCAttrAmdSev;
     case CCAttrAmdSevEs:
       //
       // SEV-ES is automatically enabled if SEV-SNP is active.
       //
-      return CurrentAttr >= CCAttrAmdSevEs;
+      return CurrentLevel >= CCAttrAmdSevEs;
     case CCAttrAmdSevSnp:
-      return CurrentAttr == CCAttrAmdSevSnp;
+      return CurrentLevel == CCAttrAmdSevSnp;
+    case CCAttrAmdSevFeatureDebugSwap:
+      return !!(CurrentAttr & CCAttrAmdSevFeatureDebugSwap);
     default:
       return FALSE;
   }
-- 
2.38.1


  parent reply	other threads:[~2022-12-01  2:37 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-01  2:35 [PATCH ovmf 0/5] Enable AMD SEV-ES DebugSwap Alexey Kardashevskiy
2022-12-01  2:35 ` [PATCH ovmf 1/5] MdePkg/Register/Amd: Define all bits from MSR_SEV_STATUS_REGISTER Alexey Kardashevskiy
2022-12-07  2:13   ` 回复: [edk2-devel] " gaoliming
2022-12-07 12:24     ` Alexey Kardashevskiy
2022-12-21  1:01       ` 回复: " gaoliming
2022-12-01  2:35 ` [PATCH ovmf 3/5] OvmfPkg: Add AMD SEV-ES DebugSwap feature support Alexey Kardashevskiy
2022-12-01  2:35 ` Alexey Kardashevskiy [this message]
2022-12-01  2:35 ` [PATCH ovmf 5/5] OvmfPkf: Enable AMD SEV-ES DebugSwap for DXE Alexey Kardashevskiy
2022-12-01  5:36 ` [PATCH ovmf 2/5] MdePkg: Add AMD SEV features to PcdConfidentialComputingGuestAttr Alexey Kardashevskiy
     [not found] ` <20221201023521.10028-3-aik@amd.com>
2022-12-01 14:47   ` Subject: " Lendacky, Thomas
2022-12-02 12:26     ` Alexey Kardashevskiy
2022-12-02 12:59       ` Gerd Hoffmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20221201023521.10028-5-aik@amd.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox