public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Lendacky, Thomas" <thomas.lendacky@amd.com>
To: Min Xu <min.m.xu@intel.com>, devel@edk2.groups.io
Cc: Erdem Aktas <erdemaktas@google.com>,
	James Bottomley <jejb@linux.ibm.com>,
	Jiewen Yao <jiewen.yao@intel.com>,
	Gerd Hoffmann <kraxel@redhat.com>
Subject: Re: [PATCH V2 3/4] OvmfPkg/IoMmuDxe: Add SEV support for reserved shared memory
Date: Tue, 13 Dec 2022 10:05:23 -0600	[thread overview]
Message-ID: <44b6e3ca-69e4-bc23-6a46-6138456c7ae1@amd.com> (raw)
In-Reply-To: <20221213054824.53-4-min.m.xu@intel.com>

On 12/12/22 23:48, Min Xu wrote:
> From: Tom Lendacky <thomas.lendacky@amd.com>
> 
> Add support to use the reserved shared memory within the IoMmu library.
> This improves boot times for all SEV guests, with SEV-SNP benefiting the
> most as it avoids the page state change call to the hypervisor.

Thanks for including the patch, Min.

One difference between my original and yours noted below, feel free to 
ignore, though.

Otherwise, tested and validated.

> 
> Cc: Erdem Aktas <erdemaktas@google.com>
> Cc: James Bottomley <jejb@linux.ibm.com>
> Cc: Jiewen Yao <jiewen.yao@intel.com>
> Cc: Min Xu <min.m.xu@intel.com>
> Cc: Gerd Hoffmann <kraxel@redhat.com>
> Acked-by: Jiewen Yao <Jiewen.yao@intel.com>
> Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
> ---
>   OvmfPkg/IoMmuDxe/CcIoMmu.c     | 81 +++++++++++++++++-----------------
>   OvmfPkg/IoMmuDxe/IoMmuBuffer.c | 54 ++++++++++++++++++-----
>   2 files changed, 83 insertions(+), 52 deletions(-)
> 
> diff --git a/OvmfPkg/IoMmuDxe/CcIoMmu.c b/OvmfPkg/IoMmuDxe/CcIoMmu.c
> index 1479af469881..e5cbf037c50d 100644
> --- a/OvmfPkg/IoMmuDxe/CcIoMmu.c
> +++ b/OvmfPkg/IoMmuDxe/CcIoMmu.c
> @@ -223,30 +223,33 @@ IoMmuMap (
>         goto FreeMapInfo;
>     }
>   
> -  if (CC_GUEST_IS_SEV (PcdGet64 (PcdConfidentialComputingGuestAttr))) {
> -    //
> -    // Clear the memory encryption mask on the plaintext buffer.
> -    //
> -    Status = MemEncryptSevClearPageEncMask (
> -               0,
> -               MapInfo->PlainTextAddress,
> -               MapInfo->NumberOfPages
> -               );
> -  } else if (CC_GUEST_IS_TDX (PcdGet64 (PcdConfidentialComputingGuestAttr))) {
> +  if (MapInfo->ReservedMemBitmap == 0) {
>       //
>       // Set the memory shared bit.

My original patch deleted this line since it is different for each type of 
CC guest and commented about in each if block.

Thanks,
Tom

>       // If MapInfo->ReservedMemBitmap is 0, it means the bounce buffer is not allocated
>       // from the pre-allocated shared memory, so it must be converted to shared memory here.
>       //
> -    if (MapInfo->ReservedMemBitmap == 0) {
> +    if (CC_GUEST_IS_SEV (PcdGet64 (PcdConfidentialComputingGuestAttr))) {
> +      //
> +      // Clear the memory encryption mask on the plaintext buffer.
> +      //
> +      Status = MemEncryptSevClearPageEncMask (
> +                 0,
> +                 MapInfo->PlainTextAddress,
> +                 MapInfo->NumberOfPages
> +                 );
> +    } else if (CC_GUEST_IS_TDX (PcdGet64 (PcdConfidentialComputingGuestAttr))) {
> +      //
> +      // Set the memory shared bit.
> +      //
>         Status = MemEncryptTdxSetPageSharedBit (
>                    0,
>                    MapInfo->PlainTextAddress,
>                    MapInfo->NumberOfPages
>                    );
> +    } else {
> +      ASSERT (FALSE);
>       }
> -  } else {
> -    ASSERT (FALSE);
>     }
>   
>     ASSERT_EFI_ERROR (Status);

  reply	other threads:[~2022-12-13 16:05 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-13  5:48 [PATCH V2 0/4] Reserve shared memory for DMA operation Min Xu
2022-12-13  5:48 ` [PATCH V2 1/4] OvmfPkg/IoMmuDxe: Reserve shared memory region " Min Xu
2022-12-13 16:04   ` Lendacky, Thomas
2022-12-14  0:02     ` [edk2-devel] " Min Xu
2022-12-14 14:24       ` Lendacky, Thomas
2022-12-13  5:48 ` [PATCH V2 2/4] OvmfPkg/IoMmuDxe: Rename AmdSevIoMmu to CcIoMmu Min Xu
2022-12-13  5:48 ` [PATCH V2 3/4] OvmfPkg/IoMmuDxe: Add SEV support for reserved shared memory Min Xu
2022-12-13 16:05   ` Lendacky, Thomas [this message]
2022-12-13 23:55     ` [edk2-devel] " Min Xu
2022-12-13  5:48 ` [PATCH V2 4/4] Maintainers: Update OvmfPkg/IoMmuDxe Min Xu
     [not found] ` <1730444AD2D72EE9.23954@groups.io>
2022-12-13  5:52   ` [edk2-devel] [PATCH V2 3/4] OvmfPkg/IoMmuDxe: Add SEV support for reserved shared memory Min Xu
2022-12-13 15:35     ` Lendacky, Thomas

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=44b6e3ca-69e4-bc23-6a46-6138456c7ae1@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