Re: [PATCH 1/1] MdeModulePkg: Move PiSmmCoreMemoryAllocationLib into PiSmmCore
Marvin Häuser <mhaeuser@...>
On 02/09/2021 12:53, Ni, Ray wrote:
Overall, the patch looks good to me.Thanks! Can you remove the "CONSTRUCTOR = PiSmmCoreMemoryAllocationLibConstructor" from PiSmmCoreMemoryAllocationProfileLib.inf?And "LIBRARY_CLASS = MemoryAllocationLib|SMM_CORE" too? Otherwise this is a broken MemoryAllocationLib implementation. Removing this will break any platform that uses this implementation, but I cannot see any in the edk2 tree. Best regards, Marvin With that change, Reviewed-by: Ray Ni <ray.ni@...>
|
|
Cancelled Event: TianoCore Design Meeting - APAC/NAMO - Friday, September 3, 2021
#cal-cancelled
devel@edk2.groups.io Calendar <noreply@...>
Cancelled: TianoCore Design Meeting - APAC/NAMO This event has been cancelled. When: Where: Organizer: Ray Ni ray.ni@... Description: TOPIC
For more info, see here: https://www.tianocore.org/design-meeting/ Microsoft Teams meetingJoin on your computer or mobile appClick here to join the meeting Join with a video conferencing deviceteams@... Video Conference ID: 119 715 416 0
|
|
Re: [PATCH v6 02/29] OvmfPkg: reserve CPUID page for SEV-SNP
Brijesh Singh
Hi Gerd,
On 9/2/21 3:04 AM, Gerd Hoffmann wrote: On Wed, Sep 01, 2021 at 11:16:19AM -0500, Brijesh Singh wrote:Yes, it is documented in the SEV-SNP spec [1] section 7.1 and the checksBZ: https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbugzilla.tianocore.org%2Fshow_bug.cgi%3Fid%3D3275&data=04%7C01%7Cbrijesh.singh%40amd.com%7C13c81a39aa2e4f22430e08d96de85a69%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637661666978547521%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=4b22Sv6xoUGQ3xutPYdsqb4cNh1SS9Z8MOQG7dHiqYU%3D&reserved=0Is the format of the page documented somewhere? performed by the SEV-SNP firmware are documented in the PPR [2] section 2.1.5.3. I will document these link in the commit message. [1] https://www.amd.com/system/files/TechDocs/56860.pdf [2] https://www.amd.com/en/support/tech-docs/processor-programming-reference-ppr-for-amd-family-19h-model-01h-revision-b1 Is this snp-specific? Or could this also be used without snp?This is SNP specific format and cannot be used without SNP. thanks Brijesh
|
|
Re: [PATCH 2/2] UefiPayloadPkg: Include Network modules in UefiPayloadPkg.
Ni, Ray
Shall you put PcdAllowHttpConnections in dynamic PCD section?
toggle quoted messageShow quoted text
-----Original Message-----
From: Sravanthi, K KavyaX <k.kavyax.sravanthi@...> Sent: Thursday, September 2, 2021 2:18 PM To: devel@edk2.groups.io Cc: Sravanthi, K KavyaX <k.kavyax.sravanthi@...>; Dong, Guo <guo.dong@...>; Ni, Ray <ray.ni@...>; Ma, Maurice <maurice.ma@...>; You, Benjamin <benjamin.you@...> Subject: [PATCH 2/2] UefiPayloadPkg: Include Network modules in UefiPayloadPkg. From: Sravanthi <k.kavyax.sravanthi@...> Include Network modules in UefiPayloadPkg.dsc and UefiPayloadPkg.fdf Cc: Guo Dong <guo.dong@...> Cc: Ray Ni <ray.ni@...> Cc: Maurice Ma <maurice.ma@...> Cc: Benjamin You <benjamin.you@...> Signed-off-by: Sravanthi <k.kavyax.sravanthi@...> --- UefiPayloadPkg/UefiPayloadPkg.dsc | 14 ++++++++++++++ UefiPayloadPkg/UefiPayloadPkg.fdf | 11 +++++++++-- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/UefiPayloadPkg/UefiPayloadPkg.dsc b/UefiPayloadPkg/UefiPayloadPkg.dsc index 6859d2aeb8..b0054c8914 100644 --- a/UefiPayloadPkg/UefiPayloadPkg.dsc +++ b/UefiPayloadPkg/UefiPayloadPkg.dsc @@ -90,6 +90,7 @@ DEFINE EMU_VARIABLE_ENABLE = TRUE DEFINE DISABLE_RESET_SYSTEM = FALSE + DEFINE NETWORK_DRIVER_ENABLE = FALSE # Dfine the maximum size of the capsule image without a reset flag that the platform can support. DEFINE MAX_SIZE_NON_POPULATE_CAPSULE = 0xa00000 @@ -161,6 +162,11 @@ CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf DxeHobListLib|UefiPayloadPkg/Library/DxeHobListLib/DxeHobListLib.inf + BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf + TlsLib|CryptoPkg/Library/TlsLib/TlsLib.inf + IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf + OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf + RngLib|MdePkg/Library/BaseRngLib/BaseRngLib.inf !if $(UNIVERSAL_PAYLOAD) == TRUE HobLib|UefiPayloadPkg/Library/DxeHobLib/DxeHobLib.inf @@ -316,6 +322,7 @@ gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable|TRUE gUefiPayloadPkgTokenSpaceGuid.PcdPcdDriverFile|{ 0x57, 0x72, 0xcf, 0x80, 0xab, 0x87, 0xf9, 0x47, 0xa3, 0xfe, 0xD5, 0x0B, 0x76, 0xd8, 0x95, 0x41 } + gEfiNetworkPkgTokenSpaceGuid.PcdAllowHttpConnections|TRUE !if $(SOURCE_DEBUG_ENABLE) gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x2 @@ -431,6 +438,13 @@ !endif !endif +# +# UEFI network modules +# +!if $(NETWORK_DRIVER_ENABLE) == TRUE + !include NetworkPkg/Network.dsc.inc +!endif + [Components.X64] # # DXE Core diff --git a/UefiPayloadPkg/UefiPayloadPkg.fdf b/UefiPayloadPkg/UefiPayloadPkg.fdf index bb6279bead..a089892d03 100644 --- a/UefiPayloadPkg/UefiPayloadPkg.fdf +++ b/UefiPayloadPkg/UefiPayloadPkg.fdf @@ -17,8 +17,8 @@ DEFINE FD_SIZE = 0x00850000 DEFINE NUM_BLOCKS = 0x850 !else -DEFINE FD_SIZE = 0x00410000 -DEFINE NUM_BLOCKS = 0x410 +DEFINE FD_SIZE = 0x00590000 +DEFINE NUM_BLOCKS = 0x590 !endif ################################################################################ @@ -198,6 +198,13 @@ INF MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouseDxe.inf # INF MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf +# +# UEFI network modules +# +!if $(NETWORK_DRIVER_ENABLE) == TRUE + !include NetworkPkg/Network.fdf.inc +!endif + # # Shell # -- 2.30.2.windows.1
|
|
Re: [PATCH 1/2] UefiPayloadPkg: Include more modules in UefiPayloadPkg.
Ni, Ray
Reviewed-by: Ray Ni <ray.ni@...>
toggle quoted messageShow quoted text
-----Original Message-----
From: Sravanthi, K KavyaX <k.kavyax.sravanthi@...> Sent: Thursday, September 2, 2021 2:15 PM To: devel@edk2.groups.io Cc: Sravanthi, K KavyaX <k.kavyax.sravanthi@...>; Dong, Guo <guo.dong@...>; Ni, Ray <ray.ni@...>; Ma, Maurice <maurice.ma@...>; You, Benjamin <benjamin.you@...> Subject: [PATCH 1/2] UefiPayloadPkg: Include more modules in UefiPayloadPkg. From: Sravanthi <k.kavyax.sravanthi@...> Include core modules in UefiPayloadPkg.dsc and UefiPayloadPkg.fdf Cc: Guo Dong <guo.dong@...> Cc: Ray Ni <ray.ni@...> Cc: Maurice Ma <maurice.ma@...> Cc: Benjamin You <benjamin.you@...> Signed-off-by: Sravanthi <k.kavyax.sravanthi@...> --- UefiPayloadPkg/UefiPayloadPkg.dsc | 6 ++++++ UefiPayloadPkg/UefiPayloadPkg.fdf | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/UefiPayloadPkg/UefiPayloadPkg.dsc b/UefiPayloadPkg/UefiPayloadPkg.dsc index b4a30be381..6859d2aeb8 100644 --- a/UefiPayloadPkg/UefiPayloadPkg.dsc +++ b/UefiPayloadPkg/UefiPayloadPkg.dsc @@ -452,6 +452,7 @@ NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf } + MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenuApp.inf PcAtChipsetPkg/HpetTimerDxe/HpetTimerDxe.inf MdeModulePkg/Universal/Metronome/Metronome.inf @@ -482,6 +483,8 @@ MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf + MdeModulePkg/Universal/PlatformDriOverrideDxe/PlatformDriOverrideDxe.inf + MdeModulePkg/Universal/EbcDxe/EbcDxe.inf UefiPayloadPkg/BlSupportDxe/BlSupportDxe.inf @@ -517,6 +520,7 @@ MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf + MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf # # SD/eMMC Support @@ -534,6 +538,7 @@ MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf + MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouseDxe.inf # # ISA Support @@ -545,6 +550,7 @@ OvmfPkg/SioBusDxe/SioBusDxe.inf MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf !endif + MdeModulePkg/Bus/Isa/Ps2MouseDxe/Ps2MouseDxe.inf # # Console Support diff --git a/UefiPayloadPkg/UefiPayloadPkg.fdf b/UefiPayloadPkg/UefiPayloadPkg.fdf index b2cfb6b405..bb6279bead 100644 --- a/UefiPayloadPkg/UefiPayloadPkg.fdf +++ b/UefiPayloadPkg/UefiPayloadPkg.fdf @@ -101,6 +101,7 @@ INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf INF UefiCpuPkg/CpuDxe/CpuDxe.inf INF MdeModulePkg/Universal/BdsDxe/BdsDxe.inf INF MdeModulePkg/Application/UiApp/UiApp.inf +INF MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenuApp.inf INF PcAtChipsetPkg/HpetTimerDxe/HpetTimerDxe.inf INF MdeModulePkg/Universal/Metronome/Metronome.inf INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf @@ -124,6 +125,8 @@ INF MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf INF MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf INF MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf +INF MdeModulePkg/Universal/PlatformDriOverrideDxe/PlatformDriOverrideDxe.inf +INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf INF UefiPayloadPkg/BlSupportDxe/BlSupportDxe.inf INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf @@ -143,6 +146,7 @@ INF MdeModulePkg/Universal/SerialDxe/SerialDxe.inf INF OvmfPkg/SioBusDxe/SioBusDxe.inf INF MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf !endif +INF MdeModulePkg/Bus/Isa/Ps2MouseDxe/Ps2MouseDxe.inf # # Console Support @@ -167,6 +171,7 @@ INF MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf INF MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf +INF MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf INF FatPkg/EnhancedFatDxe/Fat.inf @@ -186,6 +191,7 @@ INF MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf INF MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf +INF MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouseDxe.inf # # ACPI Support -- 2.30.2.windows.1
|
|
Re: [PATCH 1/1] MdeModulePkg: Move PiSmmCoreMemoryAllocationLib into PiSmmCore
Ni, Ray
Overall, the patch looks good to me.
toggle quoted messageShow quoted text
Can you remove the "CONSTRUCTOR = PiSmmCoreMemoryAllocationLibConstructor" from PiSmmCoreMemoryAllocationProfileLib.inf? With that change, Reviewed-by: Ray Ni <ray.ni@...> More replies started with "[ray]".
-----Original Message-----
From: Marvin Häuser <mhaeuser@...> Sent: Wednesday, September 1, 2021 3:18 PM To: Ni, Ray <ray.ni@...>; devel@edk2.groups.io Cc: Wang, Jian J <jian.j.wang@...>; Wu, Hao A <hao.a.wu@...>; Dong, Eric <eric.dong@...>; Vitaly Cheptsov <vit9696@...> Subject: Re: [PATCH 1/1] MdeModulePkg: Move PiSmmCoreMemoryAllocationLib into PiSmmCore Hey Ray, Thanks for your response! 1) It would disrupt platform builds that use this INF. [ray] I see:) I agree we cannot break platforms that list the INF path in DSC. 2) We'd need a new library to satisfy MemoryAllocationLib dependencies. If using the generic SMM one, libraries linked against the core would start using the indirect table calls over the direct calls for practically no reason, at least I see none at the moment. [ray] I see:) For example. UefiLib linked by PiSmmCore depends on MemoryAllocationLib. We need to at least provide a dummy lib for it to pass the dependency check from base tools. [ray] I thought you could let PiSmmCore directly call the PiSmmCoreMemoryAllocationLibConstructor () in entrypoint to eliminate the needs of referring the constructor in PiSmmCoreMemoryAllocationLib.inf. But then I realized that constructors of other libraries may call AllocatePages/Pool(). Calling PiSmmCoreMemoryAllocationLibConstructor() in entrypoint forbids those memory lib API calls from constructors. More or less I saw no reason to do it, as this is a change that needs no platform maintainer attention, but if you have suggestion on how to improve the patch, I'd be open to it of course. Best regards, Marvin On 01/09/2021 06:21, Ni, Ray wrote: Marvin,
|
|
Re: [PATCH EDK2 v1 1/1] MdeModulePkg/HiiDatabaseDxe:remove dead code block
Dandan Bi
toggle quoted messageShow quoted text
-----Original Message-----
|
|
Re: [PATCH v6 15/29] OvmfPkg/MemEncryptSevLib: add support to validate system RAM
Gerd Hoffmann
Hi,
During the guest creation, the boot ROM memory is pre-validated by the[ for this and the following few patches ] So, sev-snp and tdx have the same fundamental requirement here. Both must track what the state of page ranges is. Both must talk to the vmm before they can actually use pages. snp calls this "validate", tdx "accept", but the underlying concept should be roughly comparable. The vmm part obviously needs to be different. I can't see any good reason why the state tracking and the state hand over from one boot stage to the next (vmm -> sec -> pei -> dxe -> os) should be different though. Having a common workflow makes long-term maintenance and testing easier. So, can you all look at each others patches and find common ground here? It worked out well for the WorkArea, so *please* continue that way. This series seems to side-step most of this by validating all memory in the pei stage, so there is nothing to hand over to dxe and os. Only the range where the compressed code gets uncompressed to must be passed from sec to pei. And there is the memory range registered for pre-validation by the vmm. Intels (long-term?) plan seems to be to do lazily validate/accept memory, triggered by memory allocations, to reduce boot time. Which implies the dxe memory management core needs to be aware of page state and invoke an vmm-specific protocol to handle validation/acceptance. Concept posted to the list earlier this week. Slides only so far, no patches yet. take care, Gerd
|
|
Re: [PATCH v6 06/29] OvmfPkg/ResetVector: pre-validate the data pages used in SEC phase
Gerd Hoffmann
Hi,
During the guest creation time, the VMM encrypts the OVMF_CODE.fd usingHmm, tdx must handle this too. + gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSnpHypervisorPreValidatedStart|0x0|UINT32|0x56So maybe we should drop the "Snp" from the name here ... ; GUID (SEV-SNP boot block): bd39c0c2-2f8e-4243-83e8-1b74cebcb7d9... and store the range which needs validation in another, not snp-specific block? Jiewen? Min? take care, Gerd
|
|
Re: [PATCH v6 02/29] OvmfPkg: reserve CPUID page for SEV-SNP
Gerd Hoffmann
On Wed, Sep 01, 2021 at 11:16:19AM -0500, Brijesh Singh wrote:
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3275Is the format of the page documented somewhere? Is this snp-specific? Or could this also be used without snp? thanks, Gerd
|
|
Re: [PATCH V5 2/2] OvmfPkg/ResetVector: Enable Intel TDX in ResetVector of Ovmf
Min Xu
On September 2, 2021 3:18 PM, Gerd Hoffmann wrote:
Hi,Agree.OVMF, right?Sure. And I think we should add proper 5-level paging support toMy understanding is that we should first add 5-level paging support in In the current patch a page (defined by PcdOvmfSecGhcbPageTableBase) reserved in MEMFD is used as the 5-level page directory. Now One new page will be reserved in MEMFD to hold the level 5 page directory. Like below: 0x00C000|0x001000 gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecGhcbBackupBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecGhcbBackupSize +0x00D000|0x001000 +gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPml5Base|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPml5Size Yes. CPUID.(EAX=07H, ECX=0):ECX[bit 16] will be used to check if 5-level paging is supported. Sure. Agree. Thanks! Min
|
|
Re: [PATCH V5 2/2] OvmfPkg/ResetVector: Enable Intel TDX in ResetVector of Ovmf
Gerd Hoffmann
Hi,
Well, the page table setup should be in common code not tdx code asSure. And I think we should add proper 5-level paging support to the currentMy understanding is that we should first add 5-level paging support in OVMF, right? 5-level paging isn't something tdx-specific. I'd suggest to add this to OvmfPkg/ResetVector/Ia32/PageTables64.asm. Reserve one more page, setup the tables for 5-level paging by inserting a level 5 page directory. When using 5-level paging let cr3 point to the first page (level 5 pagedir), when using 4-level paging let cr3 point to the second page (level 4 pagedir). Can be part of this patch series, just make it a separate patch for easier review. Whenever we should enable 5-level paging even in non-tdx mode or use 5-level paging only with tdx is a separate question. We can continue to use 4-level paging in non-tdx mode for now and discuss that later. I'm not sure which implications this would have for booting older kernels, when handing over control to a OS kernel without 5-level paging support but 5-level paging enabled (non-issue for tdx as this requires a new tdx-aware guest kernel anyway ...). take care, Gerd
|
|
Re: [PATCH 2/2] .azurepipelines: Add UefiPayloadPkg in gate-build-job.yml and CISetting.py
duntan
Thanks a lot!
toggle quoted messageShow quoted text
Thanks, Dun
-----Original Message-----
From: gaoliming <gaoliming@...> Sent: Thursday, September 2, 2021 10:10 AM To: devel@edk2.groups.io; Tan, Dun <dun.tan@...> Cc: 'Sean Brogan' <sean.brogan@...>; 'Bret Barkelew' <Bret.Barkelew@...>; Kinney, Michael D <michael.d.kinney@...> Subject: 回复: [edk2-devel] [PATCH 2/2] .azurepipelines: Add UefiPayloadPkg in gate-build-job.yml and CISetting.py I upload it again. Now, it has been merged. Thanks Liming -----邮件原件-----
|
|
回复: [edk2-devel] [PATCH 2/2] .azurepipelines: Add UefiPayloadPkg in gate-build-job.yml and CISetting.py
gaoliming
I upload it again. Now, it has been merged.
toggle quoted messageShow quoted text
Thanks Liming
-----邮件原件-----
|
|
Re: [PATCH v5 0/8] Ovmf: Disable the TPM2 platform hierarchy
Stefan Berger
I apologize that you see this 3 times now. I thought something went wrong with the smtp delivery since the messages didn't appear as fast as expected, but obviously that wasn't the case and now it really went wrong.
Stefan
|
|
Re: [PATCH 2/2] .azurepipelines: Add UefiPayloadPkg in gate-build-job.yml and CISetting.py
duntan
Hi Liming,
toggle quoted messageShow quoted text
I have seen the link to push my commits to master of edk2. The result shows that the Ci test failed in ArmPlatformPkg. But I think my commits will not affect the ArmPlatformPkg. Here is the link. https://github.com/tianocore/edk2/pull/1940the So is there anything I need to do? Thanks, Dun
-----Original Message-----
From: Tan, Dun Sent: Wednesday, September 1, 2021 11:32 AM To: gaoliming <gaoliming@...>; devel@edk2.groups.io Cc: 'Sean Brogan' <sean.brogan@...>; 'Bret Barkelew' <Bret.Barkelew@...>; Kinney, Michael D <michael.d.kinney@...> Subject: RE: [edk2-devel] [PATCH 2/2] .azurepipelines: Add UefiPayloadPkg in gate-build-job.yml and CISetting.py Hi Liming, The patch to fix the build issue has been merged this morning. Would you please help to merge the two patches to enable core CI for UefiPayloadPkg? Thanks, Dun -----Original Message----- From: gaoliming <gaoliming@...> Sent: Tuesday, August 31, 2021 9:05 AM To: Tan, Dun <dun.tan@...>; devel@edk2.groups.io Cc: 'Sean Brogan' <sean.brogan@...>; 'Bret Barkelew' <Bret.Barkelew@...>; Kinney, Michael D <michael.d.kinney@...> Subject: 回复: [edk2-devel] [PATCH 2/2] .azurepipelines: Add UefiPayloadPkg in gate-build-job.yml and CISetting.py Dun: This PR also includes one additional commit to fix the build issue. Have you send the patch for it? For this patch set, Reviewed-by: Liming Gao <gaoliming@...>. It will be merged after the build issue has been fixed. Thanks Liming -----邮件原件-----
|
|
Re: [PATCH V5 2/2] OvmfPkg/ResetVector: Enable Intel TDX in ResetVector of Ovmf
Min Xu
On August 31, 2021 1:35 PM, Gerd Hoffmann wrote:
On Tue, Aug 31, 2021 at 03:09:08AM +0000, Xu, Min M wrote:My understanding is that we should first add 5-level paging support in OVMF, right?On Monday, August 30, 2021 3:41 PM, Gerd Hoffmann wrote:paging.Hi,In current Ovmf implementation_TdxPageTable:Hmm, isn't 5-level paging independent from TDX? Why mix the two? I am planning to add 5-level paging in OvmfPkgX64.dsc. Any comments?
|
|
[PATCH v5 8/8] ArmVirtPkg: Disable the TPM2 platform hierarchy
Stefan Berger <stefanb@...>
Use the newly added function to disable the TPM2 platform hierarchy.
Signed-off-by: Stefan Berger <stefanb@...> --- ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.c | 6 ++++++ .../PlatformBootManagerLib/PlatformBootManagerLib.inf | 1 + 2 files changed, 7 insertions(+) diff --git a/ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.c b/ArmVi= rtPkg/Library/PlatformBootManagerLib/PlatformBm.c index 69448ff65b..456f9fb4cb 100644 --- a/ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.c +++ b/ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.c @@ -16,6 +16,7 @@ #include <Library/PcdLib.h>=0D #include <Library/PlatformBmPrintScLib.h>=0D #include <Library/QemuBootOrderLib.h>=0D +#include <Library/TpmPlatformHierarchyLib.h>=0D #include <Library/UefiBootManagerLib.h>=0D #include <Protocol/DevicePath.h>=0D #include <Protocol/FirmwareVolume2.h>=0D @@ -832,6 +833,11 @@ PlatformBootManagerAfterConsole ( EfiBootManagerConnectAll ();=0D }=0D =0D + //=0D + // Disable the TPM 2 platform hierarchy=0D + //=0D + ConfigureTpmPlatformHierarchy ();=0D +=0D //=0D // Enumerate all possible boot options, then filter and reorder them bas= ed on=0D // the QEMU configuration.=0D diff --git a/ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBootManagerL= ib.inf b/ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.i= nf index 9f54224d3e..997eb1a442 100644 --- a/ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf +++ b/ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf @@ -48,6 +48,7 @@ QemuBootOrderLib=0D QemuLoadImageLib=0D ReportStatusCodeLib=0D + TpmPlatformHierarchyLib=0D UefiBootManagerLib=0D UefiBootServicesTableLib=0D UefiLib=0D --=20 2.31.1
|
|
[PATCH v5 3/8] SecurityPkg/TPM: Add a NULL implementation of TpmPlatformHierarchyLib
Stefan Berger <stefanb@...>
Add a NULL implementation of the library class TpmPlatformHierarchyLib
Signed-off-by: Stefan Berger <stefanb@...> --- .../PeiDxeTpmPlatformHierarchyLib.c | 19 ++++++++++++ .../PeiDxeTpmPlatformHierarchyLib.inf | 31 +++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLibNull/P= eiDxeTpmPlatformHierarchyLib.c create mode 100644 SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLibNull/P= eiDxeTpmPlatformHierarchyLib.inf diff --git a/SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLibNull/PeiDxeTp= mPlatformHierarchyLib.c b/SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLib= Null/PeiDxeTpmPlatformHierarchyLib.c new file mode 100644 index 0000000000..b63729594f --- /dev/null +++ b/SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLibNull/PeiDxeTpmPlatfo= rmHierarchyLib.c @@ -0,0 +1,19 @@ +/** @file=0D + Null TPM Platform Hierarchy configuration library.=0D +=0D + This library provides stub functions for customizing the TPM's Platfor= m Hierarchy.=0D +=0D + Copyright (c) 2021, IBM Corporation.=0D + SPDX-License-Identifier: BSD-2-Clause-Patent=0D +=0D +**/=0D +=0D +#include <Uefi.h>=0D +=0D +VOID=0D +EFIAPI=0D +ConfigureTpmPlatformHierarchy (=0D + )=0D +{=0D + /* no nothing */=0D +}=0D diff --git a/SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLibNull/PeiDxeTp= mPlatformHierarchyLib.inf b/SecurityPkg/Library/PeiDxeTpmPlatformHierarchyL= ibNull/PeiDxeTpmPlatformHierarchyLib.inf new file mode 100644 index 0000000000..2a3597004e --- /dev/null +++ b/SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLibNull/PeiDxeTpmPlatfo= rmHierarchyLib.inf @@ -0,0 +1,31 @@ +### @file=0D +#=0D +# TPM Platform Hierarchy configuration library.=0D +#=0D +# This library provides functions for customizing the TPM's Platform Hie= rarchy=0D +# Authorization Value (platformAuth) and Platform Hierarchy Authorizatio= n=0D +# Policy (platformPolicy) can be defined through this function.=0D +#=0D +# Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>=0D +# Copyright (c) Microsoft Corporation.<BR>=0D +#=0D +# SPDX-License-Identifier: BSD-2-Clause-Patent=0D +#=0D +###=0D +=0D +[Defines]=0D + INF_VERSION =3D 0x00010005=0D + BASE_NAME =3D PeiDxeTpmPlatformHierarchyLibNull=0D + FILE_GUID =3D 7794F92C-4E8E-4E57-9E4A-49A0764C7D73= =0D + MODULE_TYPE =3D PEIM=0D + VERSION_STRING =3D 1.0=0D + LIBRARY_CLASS =3D TpmPlatformHierarchyLib|PEIM DXE_DRIV= ER=0D +=0D +[LibraryClasses]=0D + BaseLib=0D +=0D +[Packages]=0D + MdePkg/MdePkg.dec=0D +=0D +[Sources]=0D + PeiDxeTpmPlatformHierarchyLib.c=0D --=20 2.31.1
|
|
[PATCH v5 5/8] OvmfPkg: Reference new TPM classes in the build system for compilation
Stefan Berger <stefanb@...>
Compile the added TPM related code now.
Signed-off-by: Stefan Berger <stefanb@...> --- OvmfPkg/AmdSev/AmdSevX64.dsc | 3 +++ OvmfPkg/Bhyve/BhyveX64.dsc | 1 + .../Library/PlatformBootManagerLib/PlatformBootManagerLib.inf | 1 + OvmfPkg/OvmfPkgIa32.dsc | 3 +++ OvmfPkg/OvmfPkgIa32X64.dsc | 3 +++ OvmfPkg/OvmfPkgX64.dsc | 3 +++ OvmfPkg/OvmfXen.dsc | 1 + 7 files changed, 15 insertions(+) diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc index e6cd10b759..6b582626ff 100644 --- a/OvmfPkg/AmdSev/AmdSevX64.dsc +++ b/OvmfPkg/AmdSev/AmdSevX64.dsc @@ -209,9 +209,11 @@ Tcg2PhysicalPresenceLib|OvmfPkg/Library/Tcg2PhysicalPresenceLibQemu/DxeT= cg2PhysicalPresenceLib.inf=0D Tcg2PpVendorLib|SecurityPkg/Library/Tcg2PpVendorLibNull/Tcg2PpVendorLibN= ull.inf=0D TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasure= mentLib.inf=0D + TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLi= b/PeiDxeTpmPlatformHierarchyLib.inf=0D !else=0D Tcg2PhysicalPresenceLib|OvmfPkg/Library/Tcg2PhysicalPresenceLibNull/DxeT= cg2PhysicalPresenceLib.inf=0D TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurem= entLibNull.inf=0D + TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLi= bNull/PeiDxeTpmPlatformHierarchyLib.inf=0D !endif=0D =0D [LibraryClasses.common]=0D @@ -836,6 +838,7 @@ SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf {=0D <LibraryClasses>=0D Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibRouter/Tpm2DeviceLibR= outerDxe.inf=0D + TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarc= hyLib/PeiDxeTpmPlatformHierarchyLib.inf=0D NULL|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2InstanceLibDTpm.inf=0D HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCrypt= oRouterDxe.inf=0D NULL|SecurityPkg/Library/HashInstanceLibSha1/HashInstanceLibSha1.inf= =0D diff --git a/OvmfPkg/Bhyve/BhyveX64.dsc b/OvmfPkg/Bhyve/BhyveX64.dsc index d8fe607d1c..1b8ec23847 100644 --- a/OvmfPkg/Bhyve/BhyveX64.dsc +++ b/OvmfPkg/Bhyve/BhyveX64.dsc @@ -224,6 +224,7 @@ =0D Tcg2PhysicalPresenceLib|OvmfPkg/Library/Tcg2PhysicalPresenceLibNull/DxeT= cg2PhysicalPresenceLib.inf=0D TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurem= entLibNull.inf=0D + TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLi= bNull/PeiDxeTpmPlatformHierarchyLib.inf=0D =0D [LibraryClasses.common]=0D BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf=0D diff --git a/OvmfPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.= inf b/OvmfPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf index c249a3cf1e..f2de7f5250 100644 --- a/OvmfPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf +++ b/OvmfPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf @@ -55,6 +55,7 @@ UefiLib=0D PlatformBmPrintScLib=0D Tcg2PhysicalPresenceLib=0D + TpmPlatformHierarchyLib=0D XenPlatformLib=0D =0D [Pcd]=0D diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc index d1d92c97ba..374a1ea652 100644 --- a/OvmfPkg/OvmfPkgIa32.dsc +++ b/OvmfPkg/OvmfPkgIa32.dsc @@ -235,9 +235,11 @@ Tcg2PhysicalPresenceLib|OvmfPkg/Library/Tcg2PhysicalPresenceLibQemu/DxeT= cg2PhysicalPresenceLib.inf=0D Tcg2PpVendorLib|SecurityPkg/Library/Tcg2PpVendorLibNull/Tcg2PpVendorLibN= ull.inf=0D TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasure= mentLib.inf=0D + TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLi= b/PeiDxeTpmPlatformHierarchyLib.inf=0D !else=0D Tcg2PhysicalPresenceLib|OvmfPkg/Library/Tcg2PhysicalPresenceLibNull/DxeT= cg2PhysicalPresenceLib.inf=0D TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurem= entLibNull.inf=0D + TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLi= bNull/PeiDxeTpmPlatformHierarchyLib.inf=0D !endif=0D =0D [LibraryClasses.common]=0D @@ -711,6 +713,7 @@ SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.inf {=0D <LibraryClasses>=0D HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCrypt= oRouterPei.inf=0D + TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarc= hyLib/PeiDxeTpmPlatformHierarchyLib.inf=0D NULL|SecurityPkg/Library/HashInstanceLibSha1/HashInstanceLibSha1.inf= =0D NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256= .inf=0D NULL|SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384= .inf=0D diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc index a467ab7090..7b7dffcd94 100644 --- a/OvmfPkg/OvmfPkgIa32X64.dsc +++ b/OvmfPkg/OvmfPkgIa32X64.dsc @@ -239,9 +239,11 @@ Tcg2PhysicalPresenceLib|OvmfPkg/Library/Tcg2PhysicalPresenceLibQemu/DxeT= cg2PhysicalPresenceLib.inf=0D Tcg2PpVendorLib|SecurityPkg/Library/Tcg2PpVendorLibNull/Tcg2PpVendorLibN= ull.inf=0D TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasure= mentLib.inf=0D + TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLi= b/PeiDxeTpmPlatformHierarchyLib.inf=0D !else=0D Tcg2PhysicalPresenceLib|OvmfPkg/Library/Tcg2PhysicalPresenceLibNull/DxeT= cg2PhysicalPresenceLib.inf=0D TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurem= entLibNull.inf=0D + TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLi= bNull/PeiDxeTpmPlatformHierarchyLib.inf=0D !endif=0D =0D [LibraryClasses.common]=0D @@ -1034,6 +1036,7 @@ SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf {=0D <LibraryClasses>=0D Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibRouter/Tpm2DeviceLibR= outerDxe.inf=0D + TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarc= hyLib/PeiDxeTpmPlatformHierarchyLib.inf=0D NULL|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2InstanceLibDTpm.inf=0D HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCrypt= oRouterDxe.inf=0D NULL|SecurityPkg/Library/HashInstanceLibSha1/HashInstanceLibSha1.inf= =0D diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc index e56b83d95e..34c6e833e4 100644 --- a/OvmfPkg/OvmfPkgX64.dsc +++ b/OvmfPkg/OvmfPkgX64.dsc @@ -239,9 +239,11 @@ Tcg2PhysicalPresenceLib|OvmfPkg/Library/Tcg2PhysicalPresenceLibQemu/DxeT= cg2PhysicalPresenceLib.inf=0D Tcg2PpVendorLib|SecurityPkg/Library/Tcg2PpVendorLibNull/Tcg2PpVendorLibN= ull.inf=0D TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasure= mentLib.inf=0D + TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLi= b/PeiDxeTpmPlatformHierarchyLib.inf=0D !else=0D Tcg2PhysicalPresenceLib|OvmfPkg/Library/Tcg2PhysicalPresenceLibNull/DxeT= cg2PhysicalPresenceLib.inf=0D TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurem= entLibNull.inf=0D + TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLi= bNull/PeiDxeTpmPlatformHierarchyLib.inf=0D !endif=0D =0D [LibraryClasses.common]=0D @@ -723,6 +725,7 @@ SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.inf {=0D <LibraryClasses>=0D HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCrypt= oRouterPei.inf=0D + TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarc= hyLib/PeiDxeTpmPlatformHierarchyLib.inf=0D NULL|SecurityPkg/Library/HashInstanceLibSha1/HashInstanceLibSha1.inf= =0D NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256= .inf=0D NULL|SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384= .inf=0D diff --git a/OvmfPkg/OvmfXen.dsc b/OvmfPkg/OvmfXen.dsc index 1a9c06c164..4541d1aaf8 100644 --- a/OvmfPkg/OvmfXen.dsc +++ b/OvmfPkg/OvmfXen.dsc @@ -216,6 +216,7 @@ =0D Tcg2PhysicalPresenceLib|OvmfPkg/Library/Tcg2PhysicalPresenceLibNull/DxeT= cg2PhysicalPresenceLib.inf=0D TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurem= entLibNull.inf=0D + TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLi= bNull/PeiDxeTpmPlatformHierarchyLib.inf=0D RealTimeClockLib|OvmfPkg/Library/XenRealTimeClockLib/XenRealTimeClockLib= .inf=0D TimeBaseLib|EmbeddedPkg/Library/TimeBaseLib/TimeBaseLib.inf=0D !ifdef $(DEBUG_ON_HYPERVISOR_CONSOLE)=0D --=20 2.31.1
|
|