From: "Ni, Ray" <ray.ni@intel.com>
To: Tom Lendacky <thomas.lendacky@amd.com>,
"devel@edk2.groups.io" <devel@edk2.groups.io>
Cc: "Justen, Jordan L" <jordan.l.justen@intel.com>,
Laszlo Ersek <lersek@redhat.com>,
Ard Biesheuvel <ard.biesheuvel@linaro.org>,
"Kinney, Michael D" <michael.d.kinney@intel.com>,
"Gao, Liming" <liming.gao@intel.com>,
"Dong, Eric" <eric.dong@intel.com>,
Brijesh Singh <brijesh.singh@amd.com>,
"Wang, Jian J" <jian.j.wang@intel.com>,
"Wu, Hao A" <hao.a.wu@intel.com>
Subject: Re: [RFC PATCH v3 01/43] MdePkg: Create PCDs to be used in support of SEV-ES
Date: Fri, 13 Dec 2019 01:21:30 +0000 [thread overview]
Message-ID: <734D49CCEBEEF84792F5B80ED585239D5C39A9E4@SHSMSX104.ccr.corp.intel.com> (raw)
In-Reply-To: <3ab202b4-70dd-8006-f0b5-26d9e4fadf85@amd.com>
yes.
> -----Original Message-----
> From: Tom Lendacky <thomas.lendacky@amd.com>
> Sent: Friday, December 13, 2019 4:48 AM
> To: Ni, Ray <ray.ni@intel.com>; devel@edk2.groups.io
> Cc: Justen, Jordan L <jordan.l.justen@intel.com>; Laszlo Ersek <lersek@redhat.com>; Ard Biesheuvel
> <ard.biesheuvel@linaro.org>; Kinney, Michael D <michael.d.kinney@intel.com>; Gao, Liming <liming.gao@intel.com>; Dong,
> Eric <eric.dong@intel.com>; Brijesh Singh <brijesh.singh@amd.com>; Wang, Jian J <jian.j.wang@intel.com>; Wu, Hao A
> <hao.a.wu@intel.com>
> Subject: Re: [RFC PATCH v3 01/43] MdePkg: Create PCDs to be used in support of SEV-ES
>
> On 12/12/19 12:53 AM, Ni, Ray wrote:
> > Do you really need to define the PCD in MdePkg?
> > General guide lines are:
> > 1. Avoid UefiCpuPkg depend on MdeModulePkg.
> > 2. Do not define platform level PCD in core pkgs (MdePkg, MdeModulePkg, UefiCpuPkg, etc)
> >
> >
> > PcdSevEsIsEnabled seems to be used in OVMF pkg only so how about define that in OvmfPkg.dec?
>
> PcdSevEsIsEnabled is used by the UefiCpuPkg in the MP library. I can move
> it from MdeModulePkg and into UefiCpuPkg if that's preferred?
>
> Thanks,
> Tom
>
> >
> > Thanks,
> > Ray
> >
> >> -----Original Message-----
> >> From: Tom Lendacky <thomas.lendacky@amd.com>
> >> Sent: Thursday, November 21, 2019 4:06 AM
> >> To: devel@edk2.groups.io
> >> Cc: Justen, Jordan L <jordan.l.justen@intel.com>; Laszlo Ersek <lersek@redhat.com>; Ard Biesheuvel
> >> <ard.biesheuvel@linaro.org>; Kinney, Michael D <michael.d.kinney@intel.com>; Gao, Liming <liming.gao@intel.com>;
> Dong,
> >> Eric <eric.dong@intel.com>; Ni, Ray <ray.ni@intel.com>; Brijesh Singh <brijesh.singh@amd.com>; Wang, Jian J
> >> <jian.j.wang@intel.com>; Wu, Hao A <hao.a.wu@intel.com>
> >> Subject: [RFC PATCH v3 01/43] MdePkg: Create PCDs to be used in support of SEV-ES
> >>
> >> BZ:
> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbugzilla.tianocore.org%2Fshow_bug.cgi%3Fid%3D21
> 98&data=02%7C01%7Cthomas.lendacky%40amd.com%7Cf366369db18d403f73f808d77ed01213%7C3dd8961fe4884e60
> 8e11a82d994e183d%7C0%7C0%7C637117304445443903&sdata=MlMdAafNmnwELGgm0I2qngT41Zr%2FuhjcUgYnOxfa
> MbY%3D&reserved=0
> >>
> >> Two new fixed PCSs are needed to support SEV-ES under OVMF:
> >> - PcdSecGhcbBase UINT64 value that is the base address of the GHCB
> >> used during the SEC phase.
> >> - PcdSecGhcbSize UINT64 value that is the size, in bytes, of the GHCB
> >> area used during the SEC phase.
> >>
> >> Three new dynamic PCDs are needed to support SEV-ES under OVMF:
> >> - PcdSevEsIsEnabled: BOOLEAN value used to indicate if SEV-ES is enabled
> >> - PcdGhcbBase: UINT64 value that is the base address of the GHCB
> >> allocation.
> >> - PcdGhcbSize: UINT64 value that is the size, in bytes, of the
> >> GHCB allocation (size is dependent on the number of
> >> APs).
> >>
> >> Cc: Jian J Wang <jian.j.wang@intel.com>
> >> Cc: Hao A Wu <hao.a.wu@intel.com>
> >> Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
> >> ---
> >> MdeModulePkg/MdeModulePkg.dec | 23 +++++++++++++++++++++++
> >> 1 file changed, 23 insertions(+)
> >>
> >> diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec
> >> index 41b9e70a1ac8..c3bdfcc80971 100644
> >> --- a/MdeModulePkg/MdeModulePkg.dec
> >> +++ b/MdeModulePkg/MdeModulePkg.dec
> >> @@ -1037,6 +1037,14 @@ [PcdsFixedAtBuild]
> >> # @Prompt Enable UEFI Stack Guard.
> >> gEfiMdeModulePkgTokenSpaceGuid.PcdCpuStackGuard|FALSE|BOOLEAN|0x30001055
> >>
> >> + ## The base address of the SEC GHCB page.
> >> + # @Prompt SEC GHCB Base Address
> >> + gEfiMdeModulePkgTokenSpaceGuid.PcdSecGhcbBase|0|UINT32|0x30001056
> >> +
> >> + ## The total size of the SEC GHCB page.
> >> + # @Prompt SEC GHCB Size
> >> + gEfiMdeModulePkgTokenSpaceGuid.PcdSecGhcbSize|0|UINT32|0x30001057
> >> +
> >> [PcdsFixedAtBuild, PcdsPatchableInModule]
> >> ## Dynamic type PCD can be registered callback function for Pcd setting action.
> >> # PcdMaxPeiPcdCallBackNumberPerPcdEntry indicates the maximum number of callback function
> >> @@ -2053,6 +2061,21 @@ [PcdsDynamic, PcdsDynamicEx]
> >> # @Prompt If there is any test key used by the platform.
> >> gEfiMdeModulePkgTokenSpaceGuid.PcdTestKeyUsed|FALSE|BOOLEAN|0x00030003
> >>
> >> + ## This dynamic PCD indicates whether SEV-ES is enabled
> >> + # TRUE - SEV-ES is enabled
> >> + # FALSE - SEV-ES is not enabled
> >> + # @Prompt SEV-ES Status
> >> + gEfiMdeModulePkgTokenSpaceGuid.PcdSevEsIsEnabled|FALSE|BOOLEAN|0x00030007
> >> +
> >> + ## This dynamic PCD holds the base address of the GHCB pool allocation.
> >> + # @Prompt GHCB Pool Base Address
> >> + gEfiMdeModulePkgTokenSpaceGuid.PcdGhcbBase|0|UINT64|0x00030008
> >> +
> >> + ## This dynamic PCD holds the total size of the GHCB pool allocation.
> >> + # The amount of memory allocated for GHCBs is dependent on the number of APs.
> >> + # @Prompt GHCB Pool Size
> >> + gEfiMdeModulePkgTokenSpaceGuid.PcdGhcbSize|0|UINT64|0x00030009
> >> +
> >> [PcdsDynamicEx]
> >> ## This dynamic PCD enables the default variable setting.
> >> # Its value is the default store ID value. The default value is zero as Standard default.
> >> --
> >> 2.17.1
> >
next prev parent reply other threads:[~2019-12-13 1:21 UTC|newest]
Thread overview: 82+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-20 20:06 [RFC PATCH v3 00/43] SEV-ES guest support Lendacky, Thomas
2019-11-20 20:06 ` [RFC PATCH v3 01/43] MdePkg: Create PCDs to be used in support of SEV-ES Lendacky, Thomas
2019-12-12 6:53 ` Ni, Ray
2019-12-12 20:48 ` Lendacky, Thomas
2019-12-13 1:21 ` Ni, Ray [this message]
2019-11-20 20:06 ` [RFC PATCH v3 02/43] MdePkg: Add the MSR definition for the GHCB register Lendacky, Thomas
2019-11-20 20:06 ` [RFC PATCH v3 03/43] MdePkg: Add a structure definition for the GHCB Lendacky, Thomas
2019-11-20 20:06 ` [RFC PATCH v3 04/43] MdeModulePkg/DxeIplPeim: Support GHCB pages when creating page tables Lendacky, Thomas
2019-12-12 6:53 ` [edk2-devel] " Ni, Ray
2019-12-12 20:58 ` Lendacky, Thomas
2019-11-20 20:06 ` [RFC PATCH v3 05/43] MdePkg/BaseLib: Add support for the XGETBV instruction Lendacky, Thomas
2019-11-20 20:06 ` [RFC PATCH v3 06/43] MdePkg/BaseLib: Add support for the VMGEXIT instruction Lendacky, Thomas
2019-11-20 20:06 ` [RFC PATCH v3 07/43] UefiCpuPkg: Implement library support for VMGEXIT Lendacky, Thomas
2019-11-21 11:15 ` [edk2-devel] " Laszlo Ersek
2019-11-21 16:48 ` Lendacky, Thomas
2019-11-20 20:06 ` [RFC PATCH v3 08/43] UefiCpuPkg/CpuExceptionHandler: Add base support for the #VC exception Lendacky, Thomas
2019-11-20 20:06 ` [RFC PATCH v3 09/43] UefiCpuPkg/CpuExceptionHandler: Add support for IOIO_PROT NAE events Lendacky, Thomas
2019-11-20 20:06 ` [RFC PATCH v3 10/43] UefiCpuPkg/CpuExceptionHandler: Support string IO " Lendacky, Thomas
2019-11-20 20:06 ` [RFC PATCH v3 11/43] UefiCpuPkg/CpuExceptionHandler: Add support for CPUID " Lendacky, Thomas
2019-11-20 20:06 ` [RFC PATCH v3 12/43] UefiCpuPkg/CpuExceptionHandler: Add support for MSR_PROT " Lendacky, Thomas
2019-11-20 20:06 ` [RFC PATCH v3 13/43] UefiCpuPkg/CpuExceptionHandler: Add support for NPF NAE events (MMIO) Lendacky, Thomas
2019-11-20 20:06 ` [RFC PATCH v3 14/43] UefiCpuPkg/CpuExceptionHandler: Add support for WBINVD NAE events Lendacky, Thomas
2019-11-20 20:06 ` [RFC PATCH v3 15/43] UefiCpuPkg/CpuExceptionHandler: Add support for RDTSC " Lendacky, Thomas
2019-11-20 20:06 ` [RFC PATCH v3 16/43] UefiCpuPkg/CpuExceptionHandler: Add support for RDPMC " Lendacky, Thomas
2019-11-20 20:06 ` [RFC PATCH v3 17/43] UefiCpuPkg/CpuExceptionHandler: Add support for INVD " Lendacky, Thomas
2019-11-20 20:06 ` [RFC PATCH v3 18/43] UefiCpuPkg/CpuExceptionHandler: Add support for VMMCALL " Lendacky, Thomas
2019-11-20 20:06 ` [RFC PATCH v3 19/43] UefiCpuPkg/CpuExceptionHandler: Add support for RDTSCP " Lendacky, Thomas
2019-11-20 20:06 ` [RFC PATCH v3 20/43] UefiCpuPkg/CpuExceptionHandler: Add support for MONITOR/MONITORX " Lendacky, Thomas
2019-11-20 20:06 ` [RFC PATCH v3 21/43] UefiCpuPkg/CpuExceptionHandler: Add support for MWAIT/MWAITX " Lendacky, Thomas
2019-11-20 20:06 ` [RFC PATCH v3 22/43] UefiCpuPkg/CpuExceptionHandler: Add support for DR7 Read/Write " Lendacky, Thomas
2019-12-12 6:53 ` Ni, Ray
2019-12-12 20:27 ` Lendacky, Thomas
2019-12-12 6:53 ` Ni, Ray
2019-12-12 20:39 ` Lendacky, Thomas
2019-11-20 20:06 ` [RFC PATCH v3 23/43] OvmfPkg/MemEncryptSevLib: Add an SEV-ES guest indicator function Lendacky, Thomas
2019-11-20 20:06 ` [RFC PATCH v3 24/43] OvmfPkg: Add support to perform SEV-ES initialization Lendacky, Thomas
2019-11-20 20:06 ` [RFC PATCH v3 25/43] OvmfPkg/ResetVector: Add support for a 32-bit SEV check Lendacky, Thomas
2019-11-21 11:02 ` [edk2-devel] " Laszlo Ersek
2019-11-20 20:06 ` [RFC PATCH v3 26/43] OvmfPkg: Create a GHCB page for use during Sec phase Lendacky, Thomas
2019-11-21 11:29 ` [edk2-devel] " Laszlo Ersek
2019-11-20 20:06 ` [RFC PATCH v3 27/43] OvmfPkg/PlatformPei: Reserve GHCB-related areas if S3 is supported Lendacky, Thomas
2019-11-20 20:06 ` [RFC PATCH v3 28/43] OvmfPkg: Create GHCB pages for use during Pei and Dxe phase Lendacky, Thomas
2019-12-12 6:54 ` Ni, Ray
2019-12-12 21:03 ` Lendacky, Thomas
2019-11-20 20:06 ` [RFC PATCH v3 29/43] OvmfPkg/PlatformPei: Move early GDT into ram when SEV-ES is enabled Lendacky, Thomas
2019-11-20 20:06 ` [RFC PATCH v3 30/43] OvmfPkg/Sec: Add #VC exception handling for Sec phase Lendacky, Thomas
2019-11-21 12:06 ` [edk2-devel] " Laszlo Ersek
2019-11-21 20:46 ` Lendacky, Thomas
2019-11-22 12:52 ` Laszlo Ersek
2019-11-22 16:30 ` Lendacky, Thomas
2019-11-22 21:10 ` Laszlo Ersek
2019-11-22 22:48 ` Lendacky, Thomas
2019-11-20 20:06 ` [RFC PATCH v3 31/43] OvmfPkg/Sec: Enable cache early to speed up booting Lendacky, Thomas
2019-11-21 12:08 ` [edk2-devel] " Laszlo Ersek
2019-11-20 20:06 ` [RFC PATCH v3 32/43] OvmfPkg/QemuFlashFvbServicesRuntimeDxe: Bypass flash detection with SEV-ES is enabled Lendacky, Thomas
2019-11-21 12:31 ` [edk2-devel] " Laszlo Ersek
2019-11-21 21:11 ` Lendacky, Thomas
2019-11-22 12:20 ` Laszlo Ersek
2019-11-20 20:06 ` [RFC PATCH v3 33/43] MdeModulePkg: Reserve a 16-bit protected mode code segment descriptor Lendacky, Thomas
2019-12-12 6:57 ` Ni, Ray
2019-12-12 21:19 ` [edk2-devel] " Lendacky, Thomas
2019-12-13 1:20 ` Ni, Ray
2019-11-20 20:06 ` [RFC PATCH v3 34/43] UefiCpuPkg: Add " Lendacky, Thomas
2019-11-20 20:06 ` [RFC PATCH v3 35/43] UefiCpuPkg/MpInitLib: Add a CPU MP data flag to indicate if SEV-ES is enabled Lendacky, Thomas
2019-12-12 7:01 ` Ni, Ray
2019-12-12 21:21 ` Lendacky, Thomas
2019-11-20 20:06 ` [RFC PATCH v3 36/43] UefiCpuPkg: Allow AP booting under SEV-ES Lendacky, Thomas
2019-11-20 20:06 ` [RFC PATCH v3 37/43] OvmfPkg: Reserve a page in memory for the SEV-ES AP reset vector Lendacky, Thomas
2019-11-21 19:27 ` [edk2-devel] " Laszlo Ersek
2019-11-21 22:49 ` Lendacky, Thomas
2019-11-22 16:06 ` Laszlo Ersek
2019-11-22 16:40 ` Lendacky, Thomas
2019-11-20 20:07 ` [RFC PATCH v3 38/43] OvmfPkg: Move the GHCB allocations into reserved memory Lendacky, Thomas
2019-11-20 20:07 ` [RFC PATCH v3 39/43] MdePkg: Add a finalization function to the CPU protocol Lendacky, Thomas
2019-11-20 21:32 ` [RFC PATCH v3 40/43] UefiCpuPkg/MpInitLib: Add MP finalization interface to MpInitLib Lendacky, Thomas
2019-11-20 21:32 ` [RFC PATCH v3 41/43] UefiCpuPkg/MpInitLib: Prepare SEV-ES guest APs for OS use Lendacky, Thomas
2019-11-20 21:32 ` [RFC PATCH v3 42/43] UefiCpuPkg/CpuDxe: Provide an DXE MP finalization routine to support SEV-ES Lendacky, Thomas
2019-11-20 21:32 ` [RFC PATCH v3 43/43] MdeModulePkg/DxeCore: Perform the CPU protocol finalization support Lendacky, Thomas
2019-11-21 1:53 ` [edk2-devel] [RFC PATCH v3 00/43] SEV-ES guest support Nate DeSimone
2019-11-21 15:50 ` Lendacky, Thomas
2019-11-21 9:45 ` Laszlo Ersek
2019-11-21 9:48 ` Laszlo Ersek
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=734D49CCEBEEF84792F5B80ED585239D5C39A9E4@SHSMSX104.ccr.corp.intel.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