From nobody Wed May 15 22:06:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+96089+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+96089+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1667925985; cv=none; d=zohomail.com; s=zohoarc; b=XAJi5EZpnLMjZeLOpbK6lyeTD/n9wBs6sCNp7gpoIYgXW0+kOtgpJkFNM/NVOozoUwC1Q/x9/Jz5Ea5rmnvfdpawowjgfxFy24P0wuovgZLrjEJ7EL+L6HZtxiqcOOt5dcCnXauYhQgzherWCA61+m8242EmWY3U2DyA65Sq9jo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1667925985; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=o6hvX5kOHWyl8x1vgj1q4SHMRt8xD8zf65IMaWzh1Ls=; b=DhJQYlV3JA4PE3Wm5+zl9jKWytngsN5ORNsRWkDm17AuSmR2zm7ZkZeIshI+xGzrOGaJ7pfn7EZHYB2xiirO8QmiLt2gMuwf+Jo58RopTNu/mE4WwaHfJP6OLqgtl2/jkoI/MqRn6mlo2B37lmAfHMQOTaxINS5imY0qsAxaano= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+96089+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 166792598503549.59608688910123; Tue, 8 Nov 2022 08:46:25 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id ZU8nYY1788612xk1xkT8uZO9; Tue, 08 Nov 2022 08:46:24 -0800 X-Received: from mail-pl1-f202.google.com (mail-pl1-f202.google.com [209.85.214.202]) by mx.groups.io with SMTP id smtpd.web12.236.1667925984112895730 for ; Tue, 08 Nov 2022 08:46:24 -0800 X-Received: by mail-pl1-f202.google.com with SMTP id c1-20020a170902d48100b0018723580343so11621937plg.15 for ; Tue, 08 Nov 2022 08:46:23 -0800 (PST) X-Gm-Message-State: 8rGLBWy77fjc056ltmbYuYeFx1787277AA= X-Google-Smtp-Source: AMsMyM74v0E+UmCvInXvCKYP6c0ZnBzAgd43F1PMaI3J7UMnfMndnWpmswFUT5kaC5+cm1emSl5hV8p3Yi8Cp0jkGg== X-Received: from dionnaglaze.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:2ee6]) (user=dionnaglaze job=sendgmr) by 2002:a05:6a00:248e:b0:56e:ad31:b976 with SMTP id c14-20020a056a00248e00b0056ead31b976mr21435182pfv.51.1667925983325; Tue, 08 Nov 2022 08:46:23 -0800 (PST) Date: Tue, 8 Nov 2022 16:46:14 +0000 In-Reply-To: <20221108164616.3251967-1-dionnaglaze@google.com> Mime-Version: 1.0 References: <20221108164616.3251967-1-dionnaglaze@google.com> Message-ID: <20221108164616.3251967-2-dionnaglaze@google.com> Subject: [edk2-devel] [PATCH 1/3] OvmfPkg: Realize EfiMemoryAcceptProtocol in AmdSevDxe From: "Dionna Glaze via groups.io" To: devel@edk2.groups.io Cc: Dionna Glaze , Gerd Hoffmann , James Bottomley , Jiewen Yao , Tom Lendacky Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,dionnaglaze@google.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1667925984; bh=diEOqk6w/3YGcWR4o2CFmgNUKaI+HcocJ2/fOuRC9pk=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=shzcPA3DYF+BRHs0dv29nw2nIG4kx5oJ7Ap1HDJ6N+FLsfypQDsqM+432b3s0EkyduC iXGKRLkHK8jchYcmMydbKi6seIrisH0g1X9TIWecLqgKmQqXUDtjDuP3doPVv8lCZqxvn KS6MoFTX/2WSJwHwKRJMmVma1rOk/zrwUjM= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1667925985723100005 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Sophia Wolf When a guest OS does not support unaccepted memory, the unaccepted memory must be accepted before returning a memory map to the caller. EfiMemoryAcceptProtocol is defined in MdePkg and is implemented / Installed in AmdSevDxe for AMD SEV-SNP memory acceptance. Cc: Gerd Hoffmann Cc: James Bottomley Cc: Jiewen Yao Cc: Tom Lendacky Reviewed-by: Tom Lendacky Signed-off-by: Dionna Glaze Acked-by: Jiewen Yao --- OvmfPkg/AmdSevDxe/AmdSevDxe.c | 55 ++= ++++++++++++++++-- OvmfPkg/AmdSevDxe/AmdSevDxe.inf | 3 ++ OvmfPkg/Library/BaseMemEncryptSevLib/X64/DxeSnpSystemRamValidate.c | 24 ++= +++++-- 3 files changed, 74 insertions(+), 8 deletions(-) diff --git a/OvmfPkg/AmdSevDxe/AmdSevDxe.c b/OvmfPkg/AmdSevDxe/AmdSevDxe.c index 662d3c4ccb..f7600c3c81 100644 --- a/OvmfPkg/AmdSevDxe/AmdSevDxe.c +++ b/OvmfPkg/AmdSevDxe/AmdSevDxe.c @@ -20,6 +20,7 @@ #include #include #include +#include =20 STATIC CONFIDENTIAL_COMPUTING_SNP_BLOB_LOCATION mSnpBootDxeTable =3D { SIGNATURE_32 ('A', 'M', 'D', 'E'), @@ -31,6 +32,40 @@ STATIC CONFIDENTIAL_COMPUTING_SNP_BLOB_LOCATION mSnpBoo= tDxeTable =3D { FixedPcdGet32 (PcdOvmfCpuidSize), }; =20 +STATIC EFI_HANDLE mAmdSevDxeHandle =3D NULL; + +#define IS_ALIGNED(x, y) ((((x) & ((y) - 1)) =3D=3D 0)) + +STATIC +EFI_STATUS +EFIAPI +AmdSevMemoryAccept ( + IN EDKII_MEMORY_ACCEPT_PROTOCOL *This, + IN EFI_PHYSICAL_ADDRESS StartAddress, + IN UINTN Size + ) +{ + // + // The StartAddress must be page-aligned, and the Size must be a positive + // multiple of SIZE_4KB. Use an assert instead of returning an erros sin= ce + // this is an EDK2-internal protocol. + // + ASSERT (IS_ALIGNED (StartAddress, SIZE_4KB)); + ASSERT (IS_ALIGNED (Size, SIZE_4KB)); + ASSERT (Size !=3D 0); + + MemEncryptSevSnpPreValidateSystemRam ( + StartAddress, + EFI_SIZE_TO_PAGES (Size) + ); + + return EFI_SUCCESS; +} + +STATIC EDKII_MEMORY_ACCEPT_PROTOCOL mMemoryAcceptProtocol =3D { + AmdSevMemoryAccept +}; + EFI_STATUS EFIAPI AmdSevDxeEntryPoint ( @@ -147,11 +182,23 @@ AmdSevDxeEntryPoint ( } } =20 - // - // If its SEV-SNP active guest then install the CONFIDENTIAL_COMPUTING_S= EV_SNP_BLOB. - // It contains the location for both the Secrets and CPUID page. - // if (MemEncryptSevSnpIsEnabled ()) { + // + // Memory acceptance began being required in SEV-SNP, so install the + // memory accept protocol implementation for a SEV-SNP active guest. + // + Status =3D gBS->InstallProtocolInterface ( + &mAmdSevDxeHandle, + &gEdkiiMemoryAcceptProtocolGuid, + EFI_NATIVE_INTERFACE, + &mMemoryAcceptProtocol + ); + ASSERT_EFI_ERROR (Status); + + // + // If its SEV-SNP active guest then install the CONFIDENTIAL_COMPUTING= _SEV_SNP_BLOB. + // It contains the location for both the Secrets and CPUID page. + // return gBS->InstallConfigurationTable ( &gConfidentialComputingSevSnpBlobGuid, &mSnpBootDxeTable diff --git a/OvmfPkg/AmdSevDxe/AmdSevDxe.inf b/OvmfPkg/AmdSevDxe/AmdSevDxe.= inf index 9acf860cf2..cd1b686c53 100644 --- a/OvmfPkg/AmdSevDxe/AmdSevDxe.inf +++ b/OvmfPkg/AmdSevDxe/AmdSevDxe.inf @@ -47,6 +47,9 @@ gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSnpSecretsBase gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSnpSecretsSize =20 +[Protocols] + gEdkiiMemoryAcceptProtocolGuid + [Guids] gConfidentialComputingSevSnpBlobGuid =20 diff --git a/OvmfPkg/Library/BaseMemEncryptSevLib/X64/DxeSnpSystemRamValida= te.c b/OvmfPkg/Library/BaseMemEncryptSevLib/X64/DxeSnpSystemRamValidate.c index d3a95e4913..cbcdd46f52 100644 --- a/OvmfPkg/Library/BaseMemEncryptSevLib/X64/DxeSnpSystemRamValidate.c +++ b/OvmfPkg/Library/BaseMemEncryptSevLib/X64/DxeSnpSystemRamValidate.c @@ -14,6 +14,7 @@ #include =20 #include "SnpPageStateChange.h" +#include "VirtualMemory.h" =20 /** Pre-validate the system RAM when SEV-SNP is enabled in the guest VM. @@ -29,12 +30,27 @@ MemEncryptSevSnpPreValidateSystemRam ( IN UINTN NumPages ) { + EFI_STATUS Status; + if (!MemEncryptSevSnpIsEnabled ()) { return; } =20 - // - // All the pre-validation must be completed in the PEI phase. - // - ASSERT (FALSE); + // DXE pre-validation may happen with the memory accept protocol. + // The protocol should only be called outside the prevalidated ranges + // that the PEI stage code explicitly skips. Specifically, only memory + // ranges that are classified as unaccepted. + if (BaseAddress >=3D SIZE_4GB) { + Status =3D InternalMemEncryptSevCreateIdentityMap1G ( + 0, + BaseAddress, + EFI_PAGES_TO_SIZE (NumPages) + ); + if (EFI_ERROR (Status)) { + ASSERT (FALSE); + CpuDeadLoop (); + } + } + + InternalSetPageState (BaseAddress, NumPages, SevSnpPagePrivate, TRUE); } --=20 2.38.1.431.g37b22c650d-goog -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#96089): https://edk2.groups.io/g/devel/message/96089 Mute This Topic: https://groups.io/mt/94894285/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Wed May 15 22:06:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+96090+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+96090+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1667925988; cv=none; d=zohomail.com; s=zohoarc; b=EEXGMO/1T3VhwRCvWStg2d1SjCaklrthmSJTT2IBwZnWs3dA3xS4b+KPhEcN8hmiaua/KBg+aMynJoVqPXsFR0fYeQ0uZwqfNlDxgPwtVvebW8DEv8BT08EjnRQTiYHCLB6xcsSFxdvE+Fuu4r8xaNZD9O7ZcMshBWx2ObL5aqg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1667925988; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=L2qAepstMYuuuiV5bpMzOoRYhfAEa8mdbm0LPpol5R4=; b=nw+/w7XelPA4G+O/PqwYJVEyx2S2A2EOLRnPd4sDojy3qHdkSvf+nM42XL9qk5d0bWVHAImZb1K6gum8YtXsNlZwILbWTLOMTNtgFig3muRHO9R/+rKv5FVNno2teDZy5FftiaHfSjb99upqVoaQ7rkPDUk2WDGuwSJbHMYrs/8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+96090+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1667925988238410.15353595537874; Tue, 8 Nov 2022 08:46:28 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id 6BL2YY1788612xAC0k832BJB; Tue, 08 Nov 2022 08:46:27 -0800 X-Received: from mail-yb1-f202.google.com (mail-yb1-f202.google.com [209.85.219.202]) by mx.groups.io with SMTP id smtpd.web11.225.1667925986079302403 for ; Tue, 08 Nov 2022 08:46:26 -0800 X-Received: by mail-yb1-f202.google.com with SMTP id i65-20020a25d144000000b006cfec5975d5so14531766ybg.15 for ; Tue, 08 Nov 2022 08:46:25 -0800 (PST) X-Gm-Message-State: 5bXN8zGOqEWYL14ERJZ9Nx1Dx1787277AA= X-Google-Smtp-Source: AA0mqf4Rw2+j98qZy/n/cWoDSFOjT0yK2c3a263My76o0uc8Bc9cbQsTBAs35GksORjMOrhk77c2cECwbO12NQngDA== X-Received: from dionnaglaze.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:2ee6]) (user=dionnaglaze job=sendgmr) by 2002:a25:7454:0:b0:6d5:75e4:ce99 with SMTP id p81-20020a257454000000b006d575e4ce99mr516067ybc.240.1667925985191; Tue, 08 Nov 2022 08:46:25 -0800 (PST) Date: Tue, 8 Nov 2022 16:46:15 +0000 In-Reply-To: <20221108164616.3251967-1-dionnaglaze@google.com> Mime-Version: 1.0 References: <20221108164616.3251967-1-dionnaglaze@google.com> Message-ID: <20221108164616.3251967-3-dionnaglaze@google.com> Subject: [edk2-devel] [PATCH 2/3] MdePkg: Add EFI_EVENT_BEFORE_EXIT_BOOT_SERVICES_GUID From: "Dionna Glaze via groups.io" To: devel@edk2.groups.io Cc: Dionna Glaze , Ard Biescheuvel , "Min M. Xu" , Gerd Hoffmann , James Bottomley , Tom Lendacky , Jiewen Yao , Erdem Aktas , Jiewen Yao Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,dionnaglaze@google.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1667925987; bh=cPgLcvfuJFCgI6eAAoZPtMhBwCImS0dJA5GFJXnTkuE=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=jVN21/fMafVhZn3BweYoym++aRJxsl+Kcdlj3AV4ShfEgrAc+uFHFVW7coXYKljmAL7 fLtMQ8ue6PffwZlmyw8uawh9fS1PuGYsoy64u7x2sTb5b7jZM8yKISUVUjTDY5Z3Cazvn p+70zth9Bjo/Hc9ygrRTJ/sOWl7BCAVuXi0= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1667925989652100012 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Event group as defined in UEFI standard v2.9. Cc: Ard Biescheuvel Cc: "Min M. Xu" Cc: Gerd Hoffmann Cc: James Bottomley Cc: Tom Lendacky Cc: Jiewen Yao Cc: Erdem Aktas Acked-by: Jiewen Yao Signed-off-by: Dionna Glaze Reviewed-by: Michael D Kinney --- MdePkg/Include/Guid/EventGroup.h | 5 +++++ MdePkg/MdePkg.dec | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/MdePkg/Include/Guid/EventGroup.h b/MdePkg/Include/Guid/EventGr= oup.h index 063d1f7157..64bfd4bab9 100644 --- a/MdePkg/Include/Guid/EventGroup.h +++ b/MdePkg/Include/Guid/EventGroup.h @@ -14,6 +14,11 @@ SPDX-License-Identifier: BSD-2-Clause-Patent =20 extern EFI_GUID gEfiEventExitBootServicesGuid; =20 +#define EFI_EVENT_GROUP_BEFORE_EXIT_BOOT_SERVICES \ + { 0x8be0e274, 0x3970, 0x4b44, { 0x80, 0xc5, 0x1a, 0xb9, 0x50, 0x2f, 0x3b= , 0xfc } } + +extern EFI_GUID gEfiEventBeforeExitBootServicesGuid; + #define EFI_EVENT_GROUP_VIRTUAL_ADDRESS_CHANGE \ { 0x13fa7698, 0xc831, 0x49c7, { 0x87, 0xea, 0x8f, 0x43, 0xfc, 0xc2, 0x51= , 0x96 } } =20 diff --git a/MdePkg/MdePkg.dec b/MdePkg/MdePkg.dec index 6b6bfbec29..359a85ea10 100644 --- a/MdePkg/MdePkg.dec +++ b/MdePkg/MdePkg.dec @@ -408,7 +408,10 @@ gEfiEventMemoryMapChangeGuid =3D { 0x78BEE926, 0x692F, 0x48FD, { 0x9E,= 0xDB, 0x01, 0x42, 0x2E, 0xF0, 0xD7, 0xAB }} =20 ## Include/Guid/EventGroup.h - gEfiEventVirtualAddressChangeGuid =3D { 0x13FA7698, 0xC831, 0x49C7, { 0x= 87, 0xEA, 0x8F, 0x43, 0xFC, 0xC2, 0x51, 0x96 }} + gEfiEventVirtualAddressChangeGuid =3D { 0x13FA7698, 0xC831, 0x49C7, { = 0x87, 0xEA, 0x8F, 0x43, 0xFC, 0xC2, 0x51, 0x96 }} + + ## Include/Guid/EventGroup.h + gEfiEventBeforeExitBootServicesGuid =3D { 0x8BE0E274, 0x3970, 0x4B44, { = 0x80, 0xC5, 0x1A, 0xB9, 0x50, 0x2F, 0x3B, 0xFC }} =20 ## Include/Guid/EventGroup.h gEfiEventExitBootServicesGuid =3D { 0x27ABF055, 0xB1B8, 0x4C26, { 0x80,= 0x48, 0x74, 0x8F, 0x37, 0xBA, 0xA2, 0xDF }} --=20 2.38.1.431.g37b22c650d-goog -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#96090): https://edk2.groups.io/g/devel/message/96090 Mute This Topic: https://groups.io/mt/94894286/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Wed May 15 22:06:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+96091+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+96091+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1667925988; cv=none; d=zohomail.com; s=zohoarc; b=TrErtNBIq+tMpWG3jcqMa67cIZ3kWoE5Zo7NktNIt/XBpgsb+f7y5/tvx11FIlUaxIqYtyuzeIkO9lXDmTHlIpzaih35cqHo1VV7KOvWhW/L3ZPM6rIrrwZddwgpjq7TL9UdFa0+j5Yi+UTUmlewoqUPC95/aH2zhCoUyT0EdjE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1667925988; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=3W4CEypWFDyeYlpMPprzB1vkziOkSCCTnpAXqLQRxEA=; b=CuztXTnjYTKNcmZPiq+HY9DkwPse5IK/VRqVM+oW8chdJbhXGY4eVtCfZAvnlwVuR7wyqklZA+t3tCcb/40aSn2phZ+Otwr0CId6AuMzNj6WqWlLSSo+q4SN92qh5DlX/V389fop5EY6EDfFc5Jp69xoMYCMFZ2/rgmC4ZLwLiQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+96091+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1667925988251157.74162890992818; Tue, 8 Nov 2022 08:46:28 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id T28gYY1788612xYfIP2BSY8K; Tue, 08 Nov 2022 08:46:27 -0800 X-Received: from mail-pf1-f201.google.com (mail-pf1-f201.google.com [209.85.210.201]) by mx.groups.io with SMTP id smtpd.web11.226.1667925987308740399 for ; Tue, 08 Nov 2022 08:46:27 -0800 X-Received: by mail-pf1-f201.google.com with SMTP id k131-20020a628489000000b0056b3e1a9629so7431902pfd.8 for ; Tue, 08 Nov 2022 08:46:27 -0800 (PST) X-Gm-Message-State: O9J8m6DQjDCjjCHTme9zvIp6x1787277AA= X-Google-Smtp-Source: AMsMyM56I+3qUmoDYKfT/8qQ965flH3E3hxAieUJdIkNB168f8uP8dgt+TvUSRWoZ1wCiEwmu8rWleqbhA1upEcfxQ== X-Received: from dionnaglaze.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:2ee6]) (user=dionnaglaze job=sendgmr) by 2002:aa7:9e85:0:b0:56c:683b:d31f with SMTP id p5-20020aa79e85000000b0056c683bd31fmr56942328pfq.48.1667925986691; Tue, 08 Nov 2022 08:46:26 -0800 (PST) Date: Tue, 8 Nov 2022 16:46:16 +0000 In-Reply-To: <20221108164616.3251967-1-dionnaglaze@google.com> Mime-Version: 1.0 References: <20221108164616.3251967-1-dionnaglaze@google.com> Message-ID: <20221108164616.3251967-4-dionnaglaze@google.com> Subject: [edk2-devel] [PATCH 3/3] MdeModulePkg: Notify BeforeExitBootServices in CoreExitBootServices From: "Dionna Glaze via groups.io" To: devel@edk2.groups.io Cc: Dionna Glaze , Gerd Hoffmann , James Bottomley , Jiewen Yao , Tom Lendacky , Ard Biesheuvel , "Min M. Xu" , Andrew Fish , "Michael D. Kinney" , Ray Ni , Jiewen Yao Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,dionnaglaze@google.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1667925987; bh=27f54v1Z2i7dGW62XuY6W/w6r1js/7iShSh5lEcC1n4=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=CkSl56fYB+x0lsXg11sR3B2B5kz7UMbOEn/GbDFWGxhY7aq4tLrH3cOmpGvJfCe3ujV 8FpXXDYY86auDzGzlsheyw4oQjApO5ZHrbKtbOXHSVNlEbN6IjJgExEMMBnpB7l+8WUfj MvxxlNEhbDrWBf2VFSBmSBfyYjCFBnIQX0U= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1667925989676100013 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Location of notification is has been specified in UEFI v2.9. Cc: Gerd Hoffmann Cc: James Bottomley Cc: Jiewen Yao Cc: Tom Lendacky Cc: Ard Biesheuvel Cc: "Min M. Xu" Cc: Andrew Fish Cc: "Michael D. Kinney" Cc: Ray Ni Acked-by: Jiewen Yao Signed-off-by: Dionna Glaze Reviewed-by: Michael D Kinney --- MdeModulePkg/Core/Dxe/DxeMain.inf | 1 + MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/MdeModulePkg/Core/Dxe/DxeMain.inf b/MdeModulePkg/Core/Dxe/DxeM= ain.inf index e4bca89577..35d5bf0dee 100644 --- a/MdeModulePkg/Core/Dxe/DxeMain.inf +++ b/MdeModulePkg/Core/Dxe/DxeMain.inf @@ -100,6 +100,7 @@ gEfiEventVirtualAddressChangeGuid ## CONSUMES ##= Event ## CONSUMES ## Event ## PRODUCES ## Event + gEfiEventBeforeExitBootServicesGuid gEfiEventExitBootServicesGuid gEfiHobMemoryAllocModuleGuid ## SOMETIMES_CONSUMES ##= HOB gEfiFirmwareFileSystem2Guid ## CONSUMES ##= GUID # Used to compare with FV's file system guid and get the FV's file sy= stem format diff --git a/MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c b/MdeModulePkg/Core/Dx= e/DxeMain/DxeMain.c index 5733f0c8ec..4683016ed7 100644 --- a/MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c +++ b/MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c @@ -763,6 +763,12 @@ CoreExitBootServices ( { EFI_STATUS Status; =20 + // + // Notify other drivers of their last chance to use boot services + // before the memory map is terminated. + // + CoreNotifySignalList (&gEfiEventBeforeExitBootServicesGuid); + // // Disable Timer // --=20 2.38.1.431.g37b22c650d-goog -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#96091): https://edk2.groups.io/g/devel/message/96091 Mute This Topic: https://groups.io/mt/94894288/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-