public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Lendacky, Thomas" <thomas.lendacky@amd.com>
To: "Dong, Eric" <eric.dong@intel.com>,
	"devel@edk2.groups.io" <devel@edk2.groups.io>,
	"lersek@redhat.com" <lersek@redhat.com>
Cc: "Justen, Jordan L" <jordan.l.justen@intel.com>,
	Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	"Kinney, Michael D" <michael.d.kinney@intel.com>,
	"Gao, Liming" <liming.gao@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: Re: [edk2-devel] [PATCH v7 01/43] MdeModulePkg: Create PCDs to be used in support of SEV-ES
Date: Fri, 8 May 2020 13:58:52 -0500	[thread overview]
Message-ID: <55177c7d-7602-0f60-df34-dd411fa0e341@amd.com> (raw)
In-Reply-To: <DM6PR11MB3274DA31E9176AA55126EF9FFEA50@DM6PR11MB3274.namprd11.prod.outlook.com>

On 5/6/20 9:38 PM, Dong, Eric wrote:
> Hi Tom,

Hi Eric,

> 
>> -----Original Message-----
>> From: Tom Lendacky <thomas.lendacky@amd.com>
>> Sent: Thursday, May 7, 2020 2:33 AM
>> To: Dong, Eric <eric.dong@intel.com>; devel@edk2.groups.io;
>> lersek@redhat.com
>> Cc: Justen, Jordan L <jordan.l.justen@intel.com>; Ard Biesheuvel
>> <ard.biesheuvel@linaro.org>; Kinney, Michael D
>> <michael.d.kinney@intel.com>; Gao, Liming <liming.gao@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: Re: [edk2-devel] [PATCH v7 01/43] MdeModulePkg: Create PCDs to
>> be used in support of SEV-ES
>>
>> Hi Eric,
>>
>> On 5/6/20 10:06 AM, Dong, Eric wrote:
>>> Hi Tom,
>>>
>>>> -----Original Message-----
>>>> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of
>>>> Lendacky, Thomas
>>>> Sent: Wednesday, May 6, 2020 9:20 PM
>>>> To: Dong, Eric <eric.dong@intel.com>; devel@edk2.groups.io;
>>>> lersek@redhat.com
>>>> Cc: Justen, Jordan L <jordan.l.justen@intel.com>; Ard Biesheuvel
>>>> <ard.biesheuvel@linaro.org>; Kinney, Michael D
>>>> <michael.d.kinney@intel.com>; Gao, Liming <liming.gao@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: Re: [edk2-devel] [PATCH v7 01/43] MdeModulePkg: Create PCDs
>> to
>>>> be used in support of SEV-ES
>>>>
>>>> On 5/5/20 8:53 PM, Dong, Eric wrote:
>>>>>
>>>>>
>>>>>> -----Original Message-----
>>>>>> From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf
>> Of
>>>>>> Laszlo Ersek
>>>>>> Sent: Tuesday, May 5, 2020 11:30 PM
>>>>>> To: Tom Lendacky <thomas.lendacky@amd.com>; Dong, Eric
>>>>>> <eric.dong@intel.com>; devel@edk2.groups.io
>>>>>> Cc: Justen, Jordan L <jordan.l.justen@intel.com>; Ard Biesheuvel
>>>>>> <ard.biesheuvel@linaro.org>; Kinney, Michael D
>>>>>> <michael.d.kinney@intel.com>; Gao, Liming <liming.gao@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: Re: [edk2-devel] [PATCH v7 01/43] MdeModulePkg: Create
>> PCDs
>>>>>> to be used in support of SEV-ES
>>>>>>
>>>>>> On 05/04/20 18:41, Tom Lendacky wrote:
>>>>>>
>>>>>>> Is there an easy way to run everything that this link points, too?
>>>>>>> Is it just creating a pull request that does this? I don't want to
>>>>>>> take up a lot of your time, so if there's some documentation on how
>>>>>>> to run an integration test to find and fix issues like this, just point me
>> to it.
>>>>>>
>>>>>> Just create a pull request; it will set off CI, and you can review VS
>>>>>> build errors there (if any).
>>>>>>
>>>>>> Your PR will automatically be closed (rejected) regardless of whether
>>>>>> CI succeeds or not. PRs are merged -- in fact, *auto*-merged, by the
>>>>>> "mergify bot" -- if and only if (a) the CI run succeeds, and (b) the PR has
>>>> the "push"
>>>>>> label set.
>>>>>>
>>>>>> And only edk2 maintainers have permission to set the "push" label.
>>>>>> Any PR without the "push" label qualifies as a "personal test build".
>>>>>> So you can freely experiment with PRs, because you can't (even
>>>>>> unwittingly) satisfy condition (b).
>>>>>>
>>>>>>
>>>>
>> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit
>>>>>> hub.com%2Ftianocore%2Ftianocore.github.io%2Fwiki%2FEDK-II-
>>>> Development
>>>>>> -
>>>>
>> &amp;data=02%7C01%7Cthomas.lendacky%40amd.com%7C9cff3475aff84a9
>>>> 57285
>>>>>>
>>>>
>> 08d7f1604c99%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C63724
>>>> 326821
>>>>>>
>>>>
>> 7382019&amp;sdata=3%2FIKB174QaVLaqO0u1gdrL0izXmhEZ%2Byvj3iC13UYB
>>>> c%3D&
>>>>>> amp;reserved=0
>>>>>> Process
>>>>>>
>>>>>
>>>>> Thanks Laszlo for your explanation.
>>>>>
>>>>> I found this patch serial is incompatible for the existed platforms.
>>>>> Can you help to fix the build failure for these platforms in
>>>>>
>>>>
>> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith
>>>>> ub.com%2Ftianocore%2Fedk2-
>>>> platforms&amp;data=02%7C01%7Cthomas.lendacky
>>>>> %40amd.com%7C9cff3475aff84a95728508d7f1604c99%7C3dd8961fe4884
>> e6
>>>> 08e11a8
>>>>>
>>>>
>> 2d994e183d%7C0%7C0%7C637243268217382019&amp;sdata=jU0qrB%2BV6Z
>>>> vFmPzjcx
>>>>> Go9o2Pu1%2FrhRW0gUZTMv%2BiXDQ%3D&amp;reserved=0
>>>>>
>>>>
>>>> I have fixed all of the build issues associated with the VS compiler using
>> the
>>>> pull request method that Laszlo mentioned. I then successfully built the
>> RPi4
>>>> platform under GCC (build -n 32 -a AARCH64 -t GCC5 -p
>>>> Platform/RaspberryPi/RPi4/RPi4.dsc) using the AARCH64 cross compiler.
>>>>
>>>> Is there a particular platform that experiences an issue or are the failures
>>>> related to the VS compiler errors that my next series will have fixed?
>>>
>>> I used the KabylakeRvp3 platform with your changes in Edk2 and met
>> failures.
>>> KabylakeRvp3 code at Edk2-
>> platforms\Platform\Intel\KabylakeOpenBoardPkg\
>>>
>>>    I used below command to build the code.
>>> C:\Code\OpenSource\edk2-platforms\Platform\Intel>build_bios.py --
>> platform KabylakeRvp3
>>>
>>> You need clone below repositories to build the code.
>>> Edk2: git@github.com:tianocore/edk2.git
>>> Edk2-Platform git@github.com:tianocore/edk2-platforms.git
>>> edk2-non-osi :  git@github.com:tianocore/edk2-non-osi.git
>>> FSP: git@github.com:IntelFsp/FSP.git
>>
>> On my Linux system, I cloned all the libraries and set the WORKSPACE and
>> PACKAGES_PATH env variables, sourced edksetup.sh and issued:
>>
>> python3 edk2-platforms/Platform/Intel/build_bios.py --platform
>> KabylakeRvp3
>>
>> and got the following errors:
>>
>> Traceback (most recent call last):
>>    File "edk2-platforms/Platform/Intel/build_bios.py", line 1097, in <module>
>>      main()
>>    File "edk2-platforms/Platform/Intel/build_bios.py", line 1067, in main
>>      platform_config = get_platform_config(arguments.platform, build_config)
>>    File "edk2-platforms/Platform/Intel/build_bios.py", line 904, in
>> get_platform_config
>>      path = platform_data.get(platform_name)
>> AttributeError: 'NoneType' object has no attribute 'get'
>>
>> I don't know what I'm missing as to why this error pops up. How is this
>> done on a Linux system?
> 
> Can you run the command in Intel directory? Seems like you not run it in Intel directory now.
> 
> Change to Intel directory then run python3 build_bios.py --platform KabylakeRvp3

Ok, running out of the Intel directory worked.

I have fixed all of the issues that were identified by the CI tool for  VS 
compiler and after modifying the platform DSC files to include the 
VmgExitLib library, I was able to successfully build the KabylakeRvp3 
platform.

Thanks,
Tom

> 
> Thanks,
> Eric
>>
>> Did your build fail because of the VmgExitLib library not being specified?
>> If the platform includes the CpuExceptionHandlerLib or MpInitLib libraries
>> then it will now also need to include the VmgExitLib library.
>>
>> I wish the build system could figure out that because the VmgExitLib
>> library is specified in the various CpuExceptionHandlerLib INF files and
>> the various MpInitLib INF files, it would automatically know to include it
>> in whatever uses those libraries. It doesn't seem right that you would
>> have to know and specify the library requirements of a library you are
>> including when the system could figure it out.
>>
>> Thanks,
>> Tom
>>
>>>
>>>>
>>>>> I think you also needs to add an wiki page to explain what need to do if
>> an
>>>> platform needs to integrate your changes, also it's better to explain this
>>>> feature in the page.
>>>>>
>>>>
>> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith
>>>>>
>>>>
>> ub.com%2Ftianocore%2Ftianocore.github.io%2Fwiki&amp;data=02%7C01%7
>>>> Ctho
>>>>>
>>>>
>> mas.lendacky%40amd.com%7C9cff3475aff84a95728508d7f1604c99%7C3dd89
>>>> 61fe4
>>>>>
>>>>
>> 884e608e11a82d994e183d%7C0%7C0%7C637243268217382019&amp;sdata=x
>>>> LkoV4zW
>>>>> hxtsbqszqPc0lEAl%2BYLL%2B2wg1nIXql8a64E%3D&amp;reserved=0
>>>>
>>>> I don't see any platform other than OVMF using this feature as it is a
>>>> virtualization feature. Having said that I can add an explanation of what is
>>>> needed should another virtualization platform be created under EDK2
>> that
>>>> wants to support SEV-ES. And, as you said, I can also explain the feature
>>>> overall on the page.
>>>>
>>>
>>> I think your page includes two parts, one is how to change the platform
>> code to make the platform pass build,
>>> the other is if the platform needs to enable the virtualization feature, how
>> to enable it.
>>>
>>>>>
>>>>>
>>>>> If you want to include this change in the next edk2 release, you need
>>>>> to add one item for it in the release plan page, sample can be found
>>>>> in below pages:
>>>>>
>>>>
>> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith
>>>>> ub.com%2Ftianocore%2Ftianocore.github.io%2Fwiki%2FEDK-II-Release-
>>>> Plann
>>>>>
>>>>
>> ing&amp;data=02%7C01%7Cthomas.lendacky%40amd.com%7C9cff3475aff84
>>>> a95728
>>>>>
>>>>
>> 508d7f1604c99%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C6372
>>>> 4326821
>>>>>
>>>>
>> 7382019&amp;sdata=kcDVjYHMS9bRRZOlKEk5ynFNT39AnxchJAMak%2Bn870
>>>> I%3D&amp
>>>>> ;reserved=0
>>>>
>>>> Thanks. Is there anyone in particular that I need to request this feature be
>>>> added?
>>>
>>> You can syn with Liming, he is the edk2 release manager. He owns edk2
>> stable tag release task.
>>>
>>> Thanks,
>>> Eric
>>>>
>>>> Thanks,
>>>> Tom
>>>>
>>>>>
>>>>>
>>>>> Thanks,
>>>>> Eric
>>>>>
>>>>>> Thanks,
>>>>>> Laszlo
>>>>>>
>>>>>>
>>>>>>
>>>>
>>>> 
>>>

  reply	other threads:[~2020-05-08 18:58 UTC|newest]

Thread overview: 81+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-22 17:41 [PATCH v7 00/43] SEV-ES guest support Lendacky, Thomas
2020-04-22 17:41 ` [PATCH v7 01/43] MdeModulePkg: Create PCDs to be used in support of SEV-ES Lendacky, Thomas
2020-05-02  8:19   ` [edk2-devel] " Dong, Eric
2020-05-04 13:34     ` Lendacky, Thomas
2020-05-04 13:47       ` Dong, Eric
2020-05-04 16:41         ` Lendacky, Thomas
2020-05-05 15:29           ` Laszlo Ersek
2020-05-06  1:53             ` Dong, Eric
2020-05-06 13:19               ` Lendacky, Thomas
2020-05-06 15:06                 ` Dong, Eric
2020-05-06 18:33                   ` Lendacky, Thomas
2020-05-07  2:28                     ` Dong, Eric
2020-05-07  2:38                     ` Dong, Eric
2020-05-08 18:58                       ` Lendacky, Thomas [this message]
2020-05-06 16:24                 ` Laszlo Ersek
2020-04-22 17:41 ` [PATCH v7 02/43] UefiCpuPkg: Create PCD " Lendacky, Thomas
2020-04-22 17:41 ` [PATCH v7 03/43] MdePkg: Add the MSR definition for the GHCB register Lendacky, Thomas
2020-04-22 17:41 ` [PATCH v7 04/43] MdePkg: Add a structure definition for the GHCB Lendacky, Thomas
2020-04-22 17:41 ` [PATCH v7 05/43] MdeModulePkg/DxeIplPeim: Support GHCB pages when creating page tables Lendacky, Thomas
2020-04-22 17:41 ` [PATCH v7 06/43] MdePkg/BaseLib: Add support for the XGETBV instruction Lendacky, Thomas
2020-04-22 17:41 ` [PATCH v7 07/43] MdePkg/BaseLib: Add support for the VMGEXIT instruction Lendacky, Thomas
2020-04-22 17:41 ` [PATCH v7 08/43] UefiCpuPkg: Implement library support for VMGEXIT Lendacky, Thomas
2020-05-09  1:06   ` Dong, Eric
2020-05-09 14:08     ` Lendacky, Thomas
2020-04-22 17:41 ` [PATCH v7 09/43] OvmfPkg: Prepare OvmfPkg to use the VmgExitLib library Lendacky, Thomas
2020-04-22 17:41 ` [PATCH v7 10/43] UefiPayloadPkg: Prepare UefiPayloadPkg " Lendacky, Thomas
2020-04-22 17:46   ` [edk2-devel] " Guo Dong
2020-04-22 17:41 ` [PATCH v7 11/43] UefiCpuPkg/CpuExceptionHandler: Add base support for the #VC exception Lendacky, Thomas
2020-04-22 17:41 ` [PATCH v7 12/43] UefiCpuPkg/CpuExceptionHandler: Add support for IOIO_PROT NAE events Lendacky, Thomas
2020-04-22 17:41 ` [PATCH v7 13/43] UefiCpuPkg/CpuExceptionHandler: Support string IO " Lendacky, Thomas
2020-04-22 17:41 ` [PATCH v7 14/43] UefiCpuPkg/CpuExceptionHandler: Add support for CPUID " Lendacky, Thomas
2020-04-22 17:41 ` [PATCH v7 15/43] UefiCpuPkg/CpuExceptionHandler: Add support for MSR_PROT " Lendacky, Thomas
2020-04-22 17:41 ` [PATCH v7 16/43] UefiCpuPkg/CpuExceptionHandler: Add support for NPF NAE events (MMIO) Lendacky, Thomas
2020-04-22 17:41 ` [PATCH v7 17/43] UefiCpuPkg/CpuExceptionHandler: Add support for WBINVD NAE events Lendacky, Thomas
2020-04-22 17:41 ` [PATCH v7 18/43] UefiCpuPkg/CpuExceptionHandler: Add support for RDTSC " Lendacky, Thomas
2020-04-22 17:41 ` [PATCH v7 19/43] UefiCpuPkg/CpuExceptionHandler: Add support for RDPMC " Lendacky, Thomas
2020-04-22 17:41 ` [PATCH v7 20/43] UefiCpuPkg/CpuExceptionHandler: Add support for INVD " Lendacky, Thomas
2020-04-22 17:41 ` [PATCH v7 21/43] UefiCpuPkg/CpuExceptionHandler: Add support for VMMCALL " Lendacky, Thomas
2020-04-22 17:41 ` [PATCH v7 22/43] UefiCpuPkg/CpuExceptionHandler: Add support for RDTSCP " Lendacky, Thomas
2020-04-22 17:41 ` [PATCH v7 23/43] UefiCpuPkg/CpuExceptionHandler: Add support for MONITOR/MONITORX " Lendacky, Thomas
2020-04-22 17:41 ` [PATCH v7 24/43] UefiCpuPkg/CpuExceptionHandler: Add support for MWAIT/MWAITX " Lendacky, Thomas
2020-04-22 17:41 ` [PATCH v7 25/43] UefiCpuPkg/CpuExceptionHandler: Add support for DR7 Read/Write " Lendacky, Thomas
2020-04-22 17:41 ` [PATCH v7 26/43] OvmfPkg/MemEncryptSevLib: Add an SEV-ES guest indicator function Lendacky, Thomas
2020-04-22 17:41 ` [PATCH v7 27/43] OvmfPkg: Add support to perform SEV-ES initialization Lendacky, Thomas
2020-04-22 17:41 ` [PATCH v7 28/43] OvmfPkg: Create a GHCB page for use during Sec phase Lendacky, Thomas
2020-04-22 17:41 ` [PATCH v7 29/43] OvmfPkg/PlatformPei: Reserve GHCB-related areas if S3 is supported Lendacky, Thomas
2020-04-22 17:41 ` [PATCH v7 30/43] OvmfPkg: Create GHCB pages for use during Pei and Dxe phase Lendacky, Thomas
2020-04-22 17:41 ` [PATCH v7 31/43] OvmfPkg/PlatformPei: Move early GDT into ram when SEV-ES is enabled Lendacky, Thomas
2020-04-22 17:41 ` [PATCH v7 32/43] UefiCpuPkg: Create an SEV-ES workarea PCD Lendacky, Thomas
2020-04-22 17:41 ` [PATCH v7 33/43] OvmfPkg: Reserve a page in memory for the SEV-ES usage Lendacky, Thomas
2020-04-30 18:58   ` [edk2-devel] " Laszlo Ersek
2020-04-30 21:12     ` Lendacky, Thomas
2020-04-30 22:09       ` Lendacky, Thomas
2020-05-05 15:25         ` Laszlo Ersek
2020-05-05 15:15       ` Laszlo Ersek
2020-04-22 17:41 ` [PATCH v7 34/43] OvmfPkg/ResetVector: Add support for a 32-bit SEV check Lendacky, Thomas
2020-04-22 17:41 ` [PATCH v7 35/43] OvmfPkg/Sec: Add #VC exception handling for Sec phase Lendacky, Thomas
2020-04-22 17:41 ` [PATCH v7 36/43] OvmfPkg/Sec: Enable cache early to speed up booting Lendacky, Thomas
2020-04-22 17:41 ` [PATCH v7 37/43] OvmfPkg/QemuFlashFvbServicesRuntimeDxe: Bypass flash detection with SEV-ES is enabled Lendacky, Thomas
2020-04-22 17:41 ` [PATCH v7 38/43] UefiCpuPkg: Add a 16-bit protected mode code segment descriptor Lendacky, Thomas
2020-04-22 17:41 ` [PATCH v7 39/43] UefiCpuPkg/MpInitLib: Add CPU MP data flag to indicate if SEV-ES is enabled Lendacky, Thomas
2020-04-23  4:33 ` [PATCH v7 40/43] UefiCpuPkg: Allow AP booting under SEV-ES Lendacky, Thomas
2020-04-23  4:33 ` [PATCH v7 41/43] OvmfPkg: Use the SEV-ES work area for the SEV-ES AP reset vector Lendacky, Thomas
2020-04-23  4:33 ` [PATCH v7 42/43] OvmfPkg: Move the GHCB allocations into reserved memory Lendacky, Thomas
2020-04-23  4:33 ` [PATCH v7 43/43] UefiCpuPkg/MpInitLib: Prepare SEV-ES guest APs for OS use Lendacky, Thomas
2020-05-08 19:16 ` [PATCH v7 00/43] SEV-ES guest support Lendacky, Thomas
2020-05-09  6:44   ` Ni, Ray
2020-05-09 14:34     ` Lendacky, Thomas
2020-05-09 19:09       ` [edk2-devel] " Andrew Fish
2020-05-11  5:24         ` Ni, Ray
2020-05-12 14:59           ` Lendacky, Thomas
2020-05-14 13:10             ` Ni, Ray
2020-05-14 17:59               ` Lendacky, Thomas
2020-05-15  5:47                 ` Ni, Ray
2020-05-15 14:30                   ` Lendacky, Thomas
2020-05-18 20:44                     ` Brian J. Johnson
2020-05-20  1:57                       ` 回复: " Fan Jeff
2020-05-12 16:49         ` Lendacky, Thomas
2020-05-12 17:44           ` Lendacky, Thomas
2020-05-12 20:10             ` Lendacky, Thomas
2020-05-11 15:37   ` 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=55177c7d-7602-0f60-df34-dd411fa0e341@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