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 1/1] OvmfPkg: Reserve the Ovmf work area as RT_DATA
Date: Mon, 22 Aug 2022 08:18:42 -0500	[thread overview]
Message-ID: <982ab701-e912-db72-51e8-090c3ba5b63d@amd.com> (raw)
In-Reply-To: <20220822022301.1454-1-min.m.xu@intel.com>

On 8/21/22 21:23, Min Xu wrote:
> From: Min M Xu <min.m.xu@intel.com>
> 
> BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3974
> 
> Ovmf work-area (PcdOvmfWorkArea) was designed to store the Confidential
> Computing guest information, including the CC guest type. This
> information will be probed by CcProbeLib so that the CC guest type can
> be determined in run-time. But the Ovmf work-area was reserved as
> BT_Data so that it cannot be accessed after ExitBootService. Please see
> the detailed analysis in BZ#3974.
> 
> RH also reports a similar bug. Please see:
> https://bugzilla.redhat.com/show_bug.cgi?id=2114858
> 
> This patch reserves the work-area as RT_Data to fix this bug.

The work area was never meant to be kept around. When first introduced, 
Laszlo had said it could be used early, but that global structures should 
be represented by PCDs. So the code is correct. It seems that the 
CcProbeLib should be setting some PCDs during the start of DXE or similar 
for use during run time services.

Thanks,
Tom

> 
> Cc: Erdem Aktas <erdemaktas@google.com>
> Cc: James Bottomley <jejb@linux.ibm.com>
> Cc: Jiewen Yao <jiewen.yao@intel.com>
> Cc: Gerd Hoffmann <kraxel@redhat.com>
> Cc: Tom Lendacky <thomas.lendacky@amd.com>
> Signed-off-by: Min Xu <min.m.xu@intel.com>
> ---
>   OvmfPkg/Library/PlatformInitLib/IntelTdx.c  | 2 +-
>   OvmfPkg/Library/PlatformInitLib/MemDetect.c | 2 +-
>   2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/OvmfPkg/Library/PlatformInitLib/IntelTdx.c b/OvmfPkg/Library/PlatformInitLib/IntelTdx.c
> index c6d7c8bb6e0e..286f447fea03 100644
> --- a/OvmfPkg/Library/PlatformInitLib/IntelTdx.c
> +++ b/OvmfPkg/Library/PlatformInitLib/IntelTdx.c
> @@ -557,7 +557,7 @@ PlatformTdxPublishRamRegions (
>       BuildMemoryAllocationHob (
>         (EFI_PHYSICAL_ADDRESS)(UINTN)FixedPcdGet32 (PcdOvmfWorkAreaBase),
>         (UINT64)(UINTN)FixedPcdGet32 (PcdOvmfWorkAreaSize),
> -      EfiBootServicesData
> +      EfiRuntimeServicesData
>         );
>     }
>   }
> diff --git a/OvmfPkg/Library/PlatformInitLib/MemDetect.c b/OvmfPkg/Library/PlatformInitLib/MemDetect.c
> index 942eaf89cfcf..83fc061fcbac 100644
> --- a/OvmfPkg/Library/PlatformInitLib/MemDetect.c
> +++ b/OvmfPkg/Library/PlatformInitLib/MemDetect.c
> @@ -1022,7 +1022,7 @@ PlatformQemuInitializeRamForS3 (
>         BuildMemoryAllocationHob (
>           (EFI_PHYSICAL_ADDRESS)(UINTN)FixedPcdGet32 (PcdOvmfWorkAreaBase),
>           (UINT64)(UINTN)FixedPcdGet32 (PcdOvmfWorkAreaSize),
> -        PlatformInfoHob->S3Supported ? EfiACPIMemoryNVS : EfiBootServicesData
> +        PlatformInfoHob->S3Supported ? EfiACPIMemoryNVS : EfiRuntimeServicesData
>           );
>       }
>   

  parent reply	other threads:[~2022-08-22 13:18 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-22  2:23 [PATCH 1/1] OvmfPkg: Reserve the Ovmf work area as RT_DATA Min Xu
2022-08-22  8:51 ` Gerd Hoffmann
2022-08-23  1:34   ` Min Xu
2022-08-23  7:37     ` Gerd Hoffmann
2022-08-23  8:40       ` Min Xu
2022-08-23 13:07         ` Lendacky, Thomas
2022-08-25  5:47           ` [edk2-devel] " Min Xu
2022-08-25  7:42             ` Gerd Hoffmann
2022-08-25  7:56               ` Min Xu
2022-08-25  8:15                 ` Gerd Hoffmann
2022-08-22 13:18 ` Lendacky, Thomas [this message]
2022-08-23  1:38   ` Min Xu

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=982ab701-e912-db72-51e8-090c3ba5b63d@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