From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id CDE49D80696 for ; Tue, 31 Oct 2023 17:37:22 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=jbvSFJXUjQfu49ztsFCmWxpcixw9VV9nECiwja4MxpI=; c=relaxed/simple; d=groups.io; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Type:Content-Transfer-Encoding; s=20140610; t=1698773841; v=1; b=L9zu4mR+kX7P6FzW+8Om09HnlafEYL/EWTxHDKFlg7hPvQkX0K0qFEcpLNcTDo9zagPJ078d VSHWUcN7PJbIm+5YN5zM6db52UTxvoHTSidUJJCjTdv/q+CdEogSayyrFFxNsLKh8V5ULeCR5Ec OAh0D0UjonT/yygJxNdFS24Y= X-Received: by 127.0.0.2 with SMTP id SJO2YY7687511xGjv0VI1ZiO; Tue, 31 Oct 2023 10:37:21 -0700 X-Received: from mail-qt1-f177.google.com (mail-qt1-f177.google.com [209.85.160.177]) by mx.groups.io with SMTP id smtpd.web10.2026.1698773840873939950 for ; Tue, 31 Oct 2023 10:37:21 -0700 X-Received: by mail-qt1-f177.google.com with SMTP id d75a77b69052e-41cd6e1d4fbso37204751cf.1 for ; Tue, 31 Oct 2023 10:37:20 -0700 (PDT) X-Gm-Message-State: dpIZRuAPfQhFf7EaEzypSnPhx7686176AA= X-Google-Smtp-Source: AGHT+IFB7m09sum5qoBzAg5ffcqi33yIqY+hShXLvzcq/FhNn4Ge1qs8fZ7NxSlBPeRLwfZcsrrHsw== X-Received: by 2002:a05:622a:1047:b0:419:4c70:c54e with SMTP id f7-20020a05622a104700b004194c70c54emr13754672qte.52.1698773839088; Tue, 31 Oct 2023 10:37:19 -0700 (PDT) X-Received: from Belldandy-Slimbook.tail03774.ts.net ([32.221.209.96]) by smtp.gmail.com with ESMTPSA id w26-20020ac84d1a000000b00405502aaf76sm679619qtv.57.2023.10.31.10.37.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 Oct 2023 10:37:18 -0700 (PDT) From: "Neal Gompa" To: devel@edk2.groups.io Cc: Neal Gompa , Pete Batard , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Gerd Hoffmann , Samer El-Haj-Mahmoud , Laszlo Ersek Subject: [edk2-devel] [PATCH v2] MdeModulePkg/UefiBootManagerLib: Signal ReadyToBoot on platform recovery Date: Tue, 31 Oct 2023 13:37:00 -0400 Message-ID: <20231031173700.647004-1-ngompa@fedoraproject.org> MIME-Version: 1.0 Precedence: Bulk 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,ngompa13@gmail.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=L9zu4mR+; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=gmail.com (policy=none) From: Neal Gompa Currently, the ReadyToBoot event is only signaled when a formal Boot Manager option is executed (in BmBoot.c -> EfiBootManagerBoot ()). However, the introduction of Platform Recovery in UEFI 2.5 makes it necessary to signal ReadyToBoot when a Platform Recovery boot loader runs because otherwise it may lead to the execution of a boot loader that has similar requirements to a regular one that is not launched as a Boot Manager option. This is especially critical to ensuring that the graphical console is actually usable during platform recovery, as some platforms do rely on the ConsolePrefDxe driver, which only performs console initialization after ReadyToBoot is triggered. This patch fixes that behavior by calling EfiSignalEventReadyToBoot () in EfiBootManagerProcessLoadOption () when invoking platform recovery, which is the function that sets up the platform recovery boot process. The expected behavior has been clarified in the UEFI 2.10 specification to explicitly indicate this behavior is required for correct operation. This is a rebased version of the patch originally written by Pete Batard. Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2831 Cc: Pete Batard Cc: Daniel P. Berrangé Cc: Gerd Hoffmann Cc: Samer El-Haj-Mahmoud Cc: Laszlo Ersek Co-authored-by: Pete Batard Signed-off-by: Neal Gompa --- .../Library/UefiBootManagerLib/BmLoadOption.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/MdeModulePkg/Library/UefiBootManagerLib/BmLoadOption.c b/MdeModulePkg/Library/UefiBootManagerLib/BmLoadOption.c index 2087f0b91d..83a2f893e4 100644 --- a/MdeModulePkg/Library/UefiBootManagerLib/BmLoadOption.c +++ b/MdeModulePkg/Library/UefiBootManagerLib/BmLoadOption.c @@ -1416,6 +1416,17 @@ EfiBootManagerProcessLoadOption ( return EFI_SUCCESS; } + if (LoadOption->OptionType == LoadOptionTypePlatformRecovery) { + // + // Signal the EVT_SIGNAL_READY_TO_BOOT event when we are about to load and execute the boot option. + // + EfiSignalEventReadyToBoot (); + // + // Report Status Code to indicate ReadyToBoot was signaled + // + REPORT_STATUS_CODE (EFI_PROGRESS_CODE, (EFI_SOFTWARE_DXE_BS_DRIVER | EFI_SW_DXE_BS_PC_READY_TO_BOOT_EVENT)); + } + // // Load and start the load option. // -- 2.41.0 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#110438): https://edk2.groups.io/g/devel/message/110438 Mute This Topic: https://groups.io/mt/102302654/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=-