From: "Isaac Oram" <isaac.w.oram@intel.com>
To: "devel@edk2.groups.io" <devel@edk2.groups.io>,
"AbdulLateef.Attar@amd.com" <AbdulLateef.Attar@amd.com>
Cc: "Dong, Eric" <eric.dong@intel.com>,
"Gao, Liming" <gaoliming@byosoft.com.cn>
Subject: Re: [edk2-devel] [PATCH 2/2] BoardModulePkg: Adds PCD to load UEFI Shell image
Date: Tue, 17 Jan 2023 20:34:10 +0000 [thread overview]
Message-ID: <SA1PR11MB5801FBDACD0F8EC68FCB01F7D0C69@SA1PR11MB5801.namprd11.prod.outlook.com> (raw)
In-Reply-To: <63f0705278c15860ceb3873cf397ddaac0b5cf4f.1668512725.git.AbdulLateef.Attar@amd.com>
edk2-platforms/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBootOption.c 338: Can you change to mUefiShellFileGuid and initialize it to zero? It seems misleading to me to have the default value here when it is not used. I think we should also move the declarations to the beginning of the file.
I am curious why this kind of global variable doesn't trigger PF and PCD does. If you know off the top of your head. You do not need to research if the code is functional with GCC. Also, please add me to CC list so I don't filter the emails.
Thanks,
Isaac
-----Original Message-----
From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Abdul Lateef Attar via groups.io
Sent: Tuesday, November 15, 2022 4:04 AM
To: devel@edk2.groups.io
Cc: Dong, Eric <eric.dong@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
Subject: [edk2-devel] [PATCH 2/2] BoardModulePkg: Adds PCD to load UEFI Shell image
defines two PCDs, PcdShellFile and PcdShellFileDesc, which holds the GUID and description of the UEFI shell file to be loaded.
A PCDs based solution gives flexibility to the user to load different images, by just overriding the DSC file.
The user can load a diagnostic image or test image during PCDBootToShellOnly or later stages.
Cc: Eric Dong <eric.dong@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Signed-off-by: Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
---
Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec | 5 +++++
.../Library/BoardBdsHookLib/BoardBdsHookLib.inf | 3 +++
.../Library/BoardBdsHookLib/BoardBootOption.c | 8 +++++---
3 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec b/Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec
index 2953e9527224..73cbd62be030 100644
--- a/Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec
+++ b/Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec
@@ -7,6 +7,7 @@
# for the build infrastructure.
#
# Copyright (c) 2017 - 2021, Intel Corporation. All rights reserved.<BR>
+# Copyright (C) 2022 Advanced Micro Devices, Inc. All rights
+reserved.<BR>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
@@ -266,6 +267,10 @@ [PcdsFixedAtBuild, PcdsPatchableInModule]
gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspUSize|0x00000000|UINT32|0x2000002B
gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspUOffset|0x00000000|UINT32|0x2000002C
+ # GUID of Shell file to be loaded, default value is
+ gUefiShellFileGuid define in ShellPkg.dec
+ gMinPlatformPkgTokenSpaceGuid.PcdShellFile|{GUID({0x7c04a583, 0x9e3e,
+ 0x4f1c, {0xad, 0x65, 0xe0, 0x52, 0x68, 0xd0, 0xb4,
+ 0xd1}})}|VOID*|0x20000230
+ gMinPlatformPkgTokenSpaceGuid.PcdShellFileDesc|L"Internal UEFI Shell
+ 2.0"|VOID*|0x20000231
+
[PcdsDynamic, PcdsDynamicEx]
gMinPlatformPkgTokenSpaceGuid.PcdPcIoApicEnable|0x0|UINT32|0x90000019
gMinPlatformPkgTokenSpaceGuid.PcdAcpiSleepControlRegisterAddressSpaceId|0x00|UINT8|0x0001004B
diff --git a/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHookLib.inf b/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHookLib.inf
index 69f3fcb55222..e2ac73498b90 100644
--- a/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHookLib.inf
+++ b/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHook
+++ Lib.inf
@@ -2,6 +2,7 @@
# Module Information file for the Bds Hook Library.
#
# Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
+# Copyright (C) 2022 Advanced Micro Devices, Inc. All rights
+reserved.<BR>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
@@ -59,6 +60,8 @@ [Pcd]
gMinPlatformPkgTokenSpaceGuid.PcdTrustedConsoleInputDevicePath ## CONSUMES
gMinPlatformPkgTokenSpaceGuid.PcdTrustedConsoleOutputDevicePath ## CONSUMES
gMinPlatformPkgTokenSpaceGuid.PcdTrustedStorageDevicePath ## CONSUMES
+ gMinPlatformPkgTokenSpaceGuid.PcdShellFile ## CONSUMES
+ gMinPlatformPkgTokenSpaceGuid.PcdShellFileDesc ## CONSUMES
[Sources]
BoardBdsHook.h
diff --git a/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBootOption.c b/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBootOption.c
index dec3ce93ef71..de1676dad0c7 100644
--- a/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBootOption.c
+++ b/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBootOpt
+++ ion.c
@@ -2,6 +2,8 @@
Driver for Platform Boot Options support.
Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
+Copyright (C) 2022 Advanced Micro Devices, Inc. All rights
+reserved.<BR>
+
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
@@ -335,7 +337,6 @@ PlatformBootManagerWaitCallback (
EFI_GUID gUefiShellFileGuid = { 0x7C04A583, 0x9E3E, 0x4f1c, { 0xAD, 0x65, 0xE0, 0x52, 0x68, 0xD0, 0xB4, 0xD1 } };
-#define INTERNAL_UEFI_SHELL_NAME L"Internal UEFI Shell 2.0"
#define UEFI_HARD_DRIVE_NAME L"UEFI Hard Drive"
/**
@@ -352,7 +353,8 @@ RegisterDefaultBootOption (
ShellData = NULL;
ShellDataSize = 0;
- RegisterFvBootOption (&gUefiShellFileGuid, INTERNAL_UEFI_SHELL_NAME, (UINTN) -1, LOAD_OPTION_ACTIVE, (UINT8 *)ShellData, ShellDataSize);
+ CopyMem (&gUefiShellFileGuid, PcdGetPtr (PcdShellFile), sizeof
+ (GUID));
+ RegisterFvBootOption (&gUefiShellFileGuid, (CHAR16 *) PcdGetPtr
+ (PcdShellFileDesc), (UINTN) -1, LOAD_OPTION_ACTIVE, (UINT8
+ *)ShellData, ShellDataSize);
//
// Boot Menu
@@ -557,7 +559,7 @@ BootOptionPriority (
return 6;
}
- if (StrCmp (BootOption->Description, INTERNAL_UEFI_SHELL_NAME) == 0) {
+ if (StrCmp (BootOption->Description, (CHAR16 *) PcdGetPtr
+ (PcdShellFileDesc)) == 0) {
if (PcdGetBool (PcdBootToShellOnly)) {
return 0;
}
--
2.25.1
next prev parent reply other threads:[~2023-01-17 20:36 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-15 12:04 [PATCH 0/2] BoardModulePkg: BoardBdsHookLib GCC fix Abdul Lateef Attar
2022-11-15 12:04 ` [PATCH 1/2] BoardModulePkg: Copy device path before processing Abdul Lateef Attar
2023-01-17 20:31 ` [edk2-devel] " Isaac Oram
2023-01-18 9:38 ` Attar, AbdulLateef (Abdul Lateef)
2022-11-15 12:04 ` [PATCH 2/2] BoardModulePkg: Adds PCD to load UEFI Shell image Abdul Lateef Attar
2023-01-17 20:34 ` Isaac Oram [this message]
2023-01-17 9:11 ` [edk2-devel] [PATCH 0/2] BoardModulePkg: BoardBdsHookLib GCC fix Attar, AbdulLateef (Abdul Lateef)
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=SA1PR11MB5801FBDACD0F8EC68FCB01F7D0C69@SA1PR11MB5801.namprd11.prod.outlook.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