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
>>>>>> -
>>>>
>> &data=02%7C01%7Cthomas.lendacky%40amd.com%7C9cff3475aff84a9
>>>> 57285
>>>>>>
>>>>
>> 08d7f1604c99%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C63724
>>>> 326821
>>>>>>
>>>>
>> 7382019&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&data=02%7C01%7Cthomas.lendacky
>>>>> %40amd.com%7C9cff3475aff84a95728508d7f1604c99%7C3dd8961fe4884
>> e6
>>>> 08e11a8
>>>>>
>>>>
>> 2d994e183d%7C0%7C0%7C637243268217382019&sdata=jU0qrB%2BV6Z
>>>> vFmPzjcx
>>>>> Go9o2Pu1%2FrhRW0gUZTMv%2BiXDQ%3D&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&data=02%7C01%7
>>>> Ctho
>>>>>
>>>>
>> mas.lendacky%40amd.com%7C9cff3475aff84a95728508d7f1604c99%7C3dd89
>>>> 61fe4
>>>>>
>>>>
>> 884e608e11a82d994e183d%7C0%7C0%7C637243268217382019&sdata=x
>>>> LkoV4zW
>>>>> hxtsbqszqPc0lEAl%2BYLL%2B2wg1nIXql8a64E%3D&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&data=02%7C01%7Cthomas.lendacky%40amd.com%7C9cff3475aff84
>>>> a95728
>>>>>
>>>>
>> 508d7f1604c99%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C6372
>>>> 4326821
>>>>>
>>>>
>> 7382019&sdata=kcDVjYHMS9bRRZOlKEk5ynFNT39AnxchJAMak%2Bn870
>>>> I%3D&
>>>>> ;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
>>>>>>
>>>>>>
>>>>>>
>>>>
>>>>
>>>
next prev parent 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