From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f73.google.com (mail-pj1-f73.google.com [209.85.216.73]) by mx.groups.io with SMTP id smtpd.web12.958.1664579201213145167 for ; Fri, 30 Sep 2022 16:06:41 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@google.com header.s=20210112 header.b=f+lqN4wr; spf=pass (domain: flex--dionnaglaze.bounces.google.com, ip: 209.85.216.73, mailfrom: 3ghy3ywskbwsmrxwwjpujinpxxpun.lxvmnenunmtl.paxdyb.rx@flex--dionnaglaze.bounces.google.com) Received: by mail-pj1-f73.google.com with SMTP id x65-20020a17090a38c700b002076bf8dc16so3330243pjb.3 for ; Fri, 30 Sep 2022 16:06:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date; bh=X6UbrwKwuiIVCc0rhXnGacpaAKk+RBN6//S34YUDC1c=; b=f+lqN4wr4Dk+kZBC1r/Ng3F2pgGifRptJYmJdJIinz5rP2FKPcTviYZR2iXeLlyXOb ICe4chJsExRhJok0AtgwRIL0dm+33tI1zh7IFVgCNsnsucnCf7sApcRCoK5NCg+NvkYE OtA0fMcydlrFRz1xkSc3DQ29x0NSAbTsMy2vAwViSzbPfwuUo037uC9iCcvqDraE8cDA 7NEeTpxXDdrdf/EXdJ1TI4esic+mHsHAxdGXTbbDm5GcqcsJ0Nzj0KqSwrws5Q89MsDF EuB2Cv10u+NfQH8gYxyGkK1ObHWKIGIaf4NNcGBF3KagW0CHbdqj6z1juLkQZqNGxYzO YvcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date; bh=X6UbrwKwuiIVCc0rhXnGacpaAKk+RBN6//S34YUDC1c=; b=ofxlTiGVFZ5K69l8eZx4VNIHHcDYGhA6Tf22Tma6bYtaj+7no51P23aa6POZvoosN7 uZUG+Jwiq1RzLvLBzgLVV67DvtYYDNR2ZJGcEI6b3oavUMpX8SnlTZbGXBgig9MevdYK TmRzSTXmWRB2KDT2o0rYPHAwMetwPzL0Oqi0L4Fg3WqWoK5PNGE+ZXRgu1Y3hQbYCF61 0Gk/Me28LtRSyuH/pbwJUjdqM2vY6092hJ8B7QkHDpdkY1ppNgWtFNtzebmJnXF/QR4u HHbHD7ybYZIGD0YEQah/M7EV12vYRtSS8dwSf6oSSEYC1DWoDRcq84kvtlnmrkHcUz29 r12Q== X-Gm-Message-State: ACrzQf0EC55anB/ntA2qWr1fE735Z/JQAMtOpfa/iMcceov8luKPjn06 wKsX1HanI1O+Swzri/aIzwhqyruy8jpDxzODpvIY0xHzYE2LMHf/DpvcU/ossUiaEjfXVyI8V0M gSIb/PPYhFVDS6zCsbVzJfuEE7yHZrFTofJ0Wsr1MNs8Ou99mqYgUwUPgfWPduGW5o/nSqo6u X-Google-Smtp-Source: AMsMyM70cl6EzulJEKXqnrvJqO7I78gdXgOtdVooaA9ia8BOLJP4cwBgNEwsdXTrx1+pUDdQXHeuFCiSvb5Q5OLg0w== X-Received: from dionnaglaze.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:2ee6]) (user=dionnaglaze job=sendgmr) by 2002:a17:902:ce0c:b0:179:ffc1:eb1b with SMTP id k12-20020a170902ce0c00b00179ffc1eb1bmr10964529plg.41.1664579200678; Fri, 30 Sep 2022 16:06:40 -0700 (PDT) Date: Fri, 30 Sep 2022 23:06:26 +0000 In-Reply-To: <20220930230627.3371754-1-dionnaglaze@google.com> Mime-Version: 1.0 References: <20220930230627.3371754-1-dionnaglaze@google.com> X-Mailer: git-send-email 2.38.0.rc1.362.ged0d419d3c-goog Message-ID: <20220930230627.3371754-7-dionnaglaze@google.com> Subject: [PATCH v5 6/7] OvmfPkg: Implement AcceptAllUnacceptedMemory in CocoDxe From: "Dionna Glaze" 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" Content-Type: text/plain; charset="UTF-8" This protocol implementation disables the accept-all-memory behavior of the ExitBootServicesCallback instance thise driver adds. 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" Signed-off-by: Dionna Glaze --- OvmfPkg/CocoDxe/CocoDxe.c | 25 ++++++++++++++++++++ OvmfPkg/CocoDxe/CocoDxe.inf | 1 + 2 files changed, 26 insertions(+) diff --git a/OvmfPkg/CocoDxe/CocoDxe.c b/OvmfPkg/CocoDxe/CocoDxe.c index dc37c292f4..d7478603f7 100644 --- a/OvmfPkg/CocoDxe/CocoDxe.c +++ b/OvmfPkg/CocoDxe/CocoDxe.c @@ -16,6 +16,7 @@ #include #include #include +#include #include #include @@ -118,6 +119,21 @@ STATIC EDKII_EXIT_BOOT_SERVICES_CALLBACK_PROTOCOL mExitBootServicesCallbackProco FALSE, }; +STATIC +EFI_STATUS +EFIAPI +DisableAcceptAllUnacceptedMemory ( + IN BZ3987_ACCEPT_ALL_UNACCEPTED_MEMORY_PROTOCOL *This + ) +{ + mExitBootServicesCallbackProcotol.Disabled = TRUE; + return EFI_SUCCESS; +} + +STATIC +BZ3987_ACCEPT_ALL_UNACCEPTED_MEMORY_PROTOCOL +mAcceptAllUnacceptedMemoryProtocol = {DisableAcceptAllUnacceptedMemory}; + EFI_STATUS EFIAPI CocoDxeEntryPoint ( @@ -145,5 +161,14 @@ CocoDxeEntryPoint ( DEBUG ((DEBUG_ERROR, "Install EdkiiExitBootServicesCallbackProtocol failed.\n")); } + Status = gBS->InstallProtocolInterface (&mCocoDxeHandle, + &gBz3987AcceptAllUnacceptedMemoryProtocolGuid, + EFI_NATIVE_INTERFACE, + &mAcceptAllUnacceptedMemoryProtocol + ); + if (EFI_ERROR (Status)) { + DEBUG ((DEBUG_ERROR, "Install Bz3987AcceptAllUnacceptedMemoryProtocol failed.\n")); + } + return EFI_SUCCESS; } diff --git a/OvmfPkg/CocoDxe/CocoDxe.inf b/OvmfPkg/CocoDxe/CocoDxe.inf index 3ff2a6fade..96ab3e1c68 100644 --- a/OvmfPkg/CocoDxe/CocoDxe.inf +++ b/OvmfPkg/CocoDxe/CocoDxe.inf @@ -39,5 +39,6 @@ TRUE [Protocols] + gBz3987AcceptAllUnacceptedMemoryProtocolGuid gEdkiiExitBootServicesCallbackProtocolGuid gEfiMemoryAcceptProtocolGuid -- 2.38.0.rc1.362.ged0d419d3c-goog