From: bo-changx.ke@intel.com
To: devel@edk2.groups.io
Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>,
Liming Gao <gaoliming@byosoft.com.cn>,
Dandan Bi <dandan.bi@intel.com>
Subject: [PATCH] [PATCH v2][Edk2 Platform] UserAuthFeaturePkg: Add boot menu return status code to trigger function.
Date: Fri, 10 Dec 2021 15:34:26 +0800 [thread overview]
Message-ID: <b6de707de9446706141c2f72adf65d0d9a910514.1639121558.git.bo-changx.ke@intel.com> (raw)
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3764
BIOS password is not required when overriding boot device via F7 hotkey.
Add boot menu return status code in callback function
for ReportStatusCode() notification.
Signed-off-by: Bo Chang Ke <bo-changx.ke@intel.com>
Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Dandan Bi <dandan.bi@intel.com>
Cc: Bo Chang Ke <bo-changx.ke@intel.com>
---
.../UserAuthenticationDxe.c | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.c b/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.c
index bba2057a96..382d891711 100644
--- a/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.c
+++ b/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.c
@@ -13,6 +13,7 @@ EFI_EVENT mExitBootServicesEvent = NULL;
EFI_RSC_HANDLER_PROTOCOL *mRscHandlerProtocol = NULL;
USER_AUTHENTICATION_PRIVATE_DATA *mUserAuthenticationData = NULL;
EFI_SMM_COMMUNICATION_PROTOCOL *mSmmCommunication = NULL;
+BOOLEAN mHotKeyF7pressed = FALSE;
EFI_GUID mUserAuthenticationVendorGuid = USER_AUTHENTICATION_FORMSET_GUID;
HII_VENDOR_DEVICE_PATH mHiiVendorDevicePath = {
@@ -352,10 +353,19 @@ CheckForPassword (
IN EFI_STATUS_CODE_DATA *Data OPTIONAL
)
{
- BOOLEAN PasswordSet;
+ BOOLEAN PasswordSet;
+ EFI_INPUT_KEY Key;
+ EFI_STATUS Status = EFI_SUCCESS;
+ Status = gST->ConIn->ReadKeyStroke (gST->ConIn, &Key);
+
+ if (Key.ScanCode == SCAN_F7 && IsPasswordInstalled()) {
+ mHotKeyF7pressed = TRUE;
+ }
if (((CodeType & EFI_STATUS_CODE_TYPE_MASK) == EFI_PROGRESS_CODE) &&
- (Value == (EFI_SOFTWARE_DXE_BS_DRIVER | EFI_SW_PC_USER_SETUP))) {
+ (((Value == (EFI_SOFTWARE_DXE_BS_DRIVER | EFI_SW_DXE_BS_PC_READY_TO_BOOT_EVENT)) && mHotKeyF7pressed) ||
+ (Value == (EFI_SOFTWARE_DXE_BS_DRIVER | EFI_SW_PC_USER_SETUP)))) {
+ mHotKeyF7pressed = FALSE;
//
// Check whether enter setup page.
//
--
2.32.0.windows.1
next reply other threads:[~2021-12-10 7:36 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-10 7:34 bo-changx.ke [this message]
2021-12-14 5:26 ` [PATCH] [PATCH v2][Edk2 Platform] UserAuthFeaturePkg: Add boot menu return status code to trigger function Dandan Bi
-- strict thread matches above, loose matches on Subject: below --
2021-12-10 8:45 Bo Chang Ke
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=b6de707de9446706141c2f72adf65d0d9a910514.1639121558.git.bo-changx.ke@intel.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