From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mx.groups.io with SMTP id smtpd.web10.208736.1673987816965438654 for ; Tue, 17 Jan 2023 12:36:57 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=PnKLNMje; spf=pass (domain: intel.com, ip: 192.55.52.120, mailfrom: isaac.w.oram@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1673987816; x=1705523816; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=bLg3b7fxJQKRBMy9SgXswtHXtdeWkk7d67qI2eQ1O7c=; b=PnKLNMjegBPdk0rOiltg6or5MtXO/71+SHnuMfMqhhYz6Ilupv0YmC70 UgqqtPfg7q3R85VfIS4ElxKjZgyH/Rm1MR3n9nGsHTndmcoyC7vzGRNhC WU0I6UzU3+aF7VojSy06VPrUcombP9YX73SkakP07auEGST4YQMb0Ce1U AqrVbItiMBnCLPdx6oQM5wU70/eGb/IKgzXGyaf9oq5yR5QgHNlLAs/C6 dHo56PDhQHqPTmotyQ+k7YPv90hmo2RSeq6dN/3xzW4FtclrzY1cB+UMp ZdjuI1aW8Wkzkkq7n+hfzVwhGJf9tDLu39Pz0v25++SNvekaSNXSTZe35 Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10593"; a="323503137" X-IronPort-AV: E=Sophos;i="5.97,224,1669104000"; d="scan'208";a="323503137" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jan 2023 12:34:14 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10593"; a="661443860" X-IronPort-AV: E=Sophos;i="5.97,224,1669104000"; d="scan'208";a="661443860" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmsmga007.fm.intel.com with ESMTP; 17 Jan 2023 12:34:13 -0800 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Tue, 17 Jan 2023 12:34:13 -0800 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Tue, 17 Jan 2023 12:34:12 -0800 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16 via Frontend Transport; Tue, 17 Jan 2023 12:34:12 -0800 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.47) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.16; Tue, 17 Jan 2023 12:34:12 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oW7T462thY1g29DfBcXjZapKo67iecXXtNLQ33lcwQ49wI5A2pfOAfXC5HneUs9vFl1ycKRvl/l80t5oK/q98/dtI68yEn9d72BLXLI67AvzbHAgzeEK3uAr+0PNNrLd1InICSrfUnxix5KiAGCq2tb2XD4A9wtVwnSEACFwLbhj0I7EvIMO3Z/FGs4qjyNkmtHdOsvheiaYlaxsnxxqPQjN3ppKjXO+apxFTiHe0YIcLYlpl8iy8jTJXRiEVCG7CqqcoEge/1U4BA5roP5ag3e/LSm7RCtiAJbAgwvz5e6upg3p4svGvL87I1wscy+JiMbo6+FGsHDdOsf7Znbr2A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=umbhneVoTNz8lgVUhejZPxXwv54e03oKukV8yJI6GAs=; b=eokHuslkjzSrN2jSun4Yj4iBLd5NQYMWbd6lNhYmIGq8hvqaRf33RBSuD7odd9ix6rYecoya+6uzcakGh+UAxwLJ798/6YlyeMwFSGSj8JQe8Qf51IgT087dQL76zzgVWgvniI0rJ2P2b8SY38H3aiUzvnjpmcK/G6cHTBHcWRSGmSpQ2n63LvBvZrDX69VV6kTpHy+CbwItlBvN7mMAh1lokXzWV3gfuFt9RqWmMCeWsbJD4z/emaRHICzpETXASsWRwxDMJGRBPbuRucGlzLncBVEmPXuaJUtTfvGf5PSNNVxbiPYPVyOV284eeItlVjpQMI17FKCNOgAO9+d/2g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from SA1PR11MB5801.namprd11.prod.outlook.com (2603:10b6:806:23d::13) by SJ0PR11MB6693.namprd11.prod.outlook.com (2603:10b6:a03:44b::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5986.23; Tue, 17 Jan 2023 20:34:10 +0000 Received: from SA1PR11MB5801.namprd11.prod.outlook.com ([fe80::7623:38f5:ab31:61a5]) by SA1PR11MB5801.namprd11.prod.outlook.com ([fe80::7623:38f5:ab31:61a5%5]) with mapi id 15.20.5986.019; Tue, 17 Jan 2023 20:34:10 +0000 From: "Isaac Oram" To: "devel@edk2.groups.io" , "AbdulLateef.Attar@amd.com" CC: "Dong, Eric" , "Gao, Liming" Subject: Re: [edk2-devel] [PATCH 2/2] BoardModulePkg: Adds PCD to load UEFI Shell image Thread-Topic: [edk2-devel] [PATCH 2/2] BoardModulePkg: Adds PCD to load UEFI Shell image Thread-Index: AQHY+Qy7k0Dl+R8YIUGSDTflLJGLAq6jbOJw Date: Tue, 17 Jan 2023 20:34:10 +0000 Message-ID: References: <63f0705278c15860ceb3873cf397ddaac0b5cf4f.1668512725.git.AbdulLateef.Attar@amd.com> In-Reply-To: <63f0705278c15860ceb3873cf397ddaac0b5cf4f.1668512725.git.AbdulLateef.Attar@amd.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SA1PR11MB5801:EE_|SJ0PR11MB6693:EE_ x-ms-office365-filtering-correlation-id: 265ea77a-71f8-4432-6492-08daf8ca305f x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: sLVVL+IlLKSg7uyAU5E15S2l0vm7hLzuHa/Eay0hlLkW3kkJ5zWxCqExVIyTMfa294jfFbDdVCxns1QqNU118KT5v5HRMZDO9L0PLWDFW/gUhqkezWeKMa7rojPAI5Cs0/rqFRC74XE4r710ngsc7E57RZM/ztz3pWpGcH8p+lrg9+6jgYYdUFwdaDWjiNCUq3vyOlq1GwH5wg//isbLkfWK0xJytgp2mpGHXiNKlxilZcucSKEsUjnGVwLcIzGwxPdHdW48b+XhrCy6osaUz/UuNGGBNy+1ek5k8yPY4eXtWdEGoN3AHzcNubo1VW4lWvdRNfeNW58+iz1oPEEXXh8pvKcN3xRb4iiMYIO6FitACvLsIs+pPFNN7XWSmt9/h3nYSpyILB3/HNWm9dRRccJ7s75SFkD1SQMOPH6+RelN/b/jIlnI9HzWHFc40LS4ZdtFUCAh4zH44wAOqtlrhrCyFOW0/Iw6GtS5SAC59MGOJmxdnnyJ3XbWQTb3lkcPvTI8K5Z6HVSvJHD5iAljEvgI8JltEKjz90/4zGRZ9YXI5Qz60lIV9GUL5AAy15EyBgJH9G+XJaMBed5Tv0CKzBZfyfzcboi55/8nIcZXKBMX9EFEaTxtHT3xOrbnimNBaeimOaoJvWG3LaGkU5N/NawtQnSrQVvt6Wn4QJug8WIFLNLV0HpnUarFSEga89V5esHcKpHfrbIwb52to5aBLILLv1Nxz+OqiIw7/o4ECyVUN2S4MyaXX4Y3H5jKKsThnzB/le8HEYX7/cUQsfPKTg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR11MB5801.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(39860400002)(136003)(346002)(396003)(366004)(451199015)(66899015)(38100700002)(38070700005)(86362001)(64756008)(66446008)(8936002)(66556008)(66476007)(76116006)(52536014)(66946007)(4326008)(2906002)(5660300002)(55016003)(8676002)(83380400001)(82960400001)(122000001)(33656002)(110136005)(54906003)(966005)(7696005)(316002)(71200400001)(478600001)(41300700001)(53546011)(26005)(186003)(9686003)(6506007);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?RjkzFcvMT5Qe6cr6W03VPUK0glRRq1OlbyqzuOs6hND/mOc+w9ilHZGRi2+M?= =?us-ascii?Q?cxsO/tV8adyR9HpazAXTxjKedXwcX8AoBQcTSkz1UEYn8/Rp3A0ESCLdfySQ?= =?us-ascii?Q?MDvGVks36VUwNz6ynP8y3tK8oaAB81TFhgns/oouDA7PBctEX0mhkA7z9zVt?= =?us-ascii?Q?KeoyUVfMJtEv3eq3KLBZxk9NyoHJFY8YkMeNPpnblpnJDWdriVkPmA2otIIk?= =?us-ascii?Q?Xy+dvCw9KXV/9zgMm5RYEuhsP6ySeLrJyPGKemcxRuBx8OtwJ80ZCZ/7AJ5N?= =?us-ascii?Q?mR4d1AOTDNbYjn8QK2mSutTvXTdhO1rVXbLa0jidabyvWkAHL1+7haZQc/+n?= =?us-ascii?Q?XZzsf9fgtCeSHs7BNCX6uVdjLkPek1H9M+Sx3FAQJs6CkFpA44w4iEuGka7j?= =?us-ascii?Q?mOVOCDJSeM9BZzyCKgH7UsuuHT/oS2+Kjx+NyhsbXG+0rPWzBv1SPi35hnMe?= =?us-ascii?Q?sSK4yCoUgvrWgSe+5T2/sgRbL95vA97N4qVDcNprly4H9M/Y5x8+E2saowXA?= =?us-ascii?Q?liLwgxlamFr5c3rb8uhl/rZxWyhWtCZ/BRww6l3055i8unbVTVB88G1QvchG?= =?us-ascii?Q?/vRDeN1RA7RVjA+oxMjMEIha3w2OXFx497LCwGDjBv1UJraMtv953TYePsqm?= =?us-ascii?Q?GCn6MEjS0M0+J9T8mN2TU/sYK+f5S1rLpF0iZ2RnYRCPzBh9WxioT50A3Q3Y?= =?us-ascii?Q?N80x/8xUB6DsATLQFXwri6U8nkbIwMLhCaGXXwnGA7Nk103S1fU0Scx3TLkD?= =?us-ascii?Q?iNRQ8EUNDM80AFmCgKApfBQSEfxdDDXil7s+7bEnPXmJouILZVOJMlGbgoOV?= =?us-ascii?Q?aE6cnOlo2U+lKbti297sGqsCGCgSCHpg0Op6NZe4Vnep8FNbZ3E2giDEZZiV?= =?us-ascii?Q?8GspkofYEM03bAvi8SaRSpmFtnDrk0woWUi6nc7m4dkCFzxGg55eppmMCvG+?= =?us-ascii?Q?FyxKb8x0dXc0ReLFNHmpz+zjMNUXXTCIRk8mUu866y1SxEhN00dEhyns+GPP?= =?us-ascii?Q?uJRmI0bEuNCRHfFspxbsLOTrHu/BBVAQAYxK1oj/2Uf39wVbsqnj2yM0Zo4d?= =?us-ascii?Q?pZ3yft65lZ59DhtYiylEjdcOLDlRRfkevPwJdathmzKkJTpHfq00lvgkiaEr?= =?us-ascii?Q?U+dPMv4QCvxgWhafZfOtwTQZcwzQVWUmGeRYJiydHbbfbKDUAnCflHXs2f/0?= =?us-ascii?Q?C30PShmw+or+rl/LkDrhsyiFykqE3I/keRXVAY5TE4d2QiBDV7O59P6nnqOa?= =?us-ascii?Q?jVWTfiJW/fdNYZs/3iH+mNA8/p5Oy0fEkSjk20+rTttvSStUXSTJm67cKyeM?= =?us-ascii?Q?0mBPegIy1Im+1SOLwQNFthiQrwSB+usAJxnZWKJvAaHE9i/UGisWgbtTwJ8C?= =?us-ascii?Q?OcZtZxMj2z9Lhv0UJ8TI+Q6V4uaYSFUgsTfkyZh5LKKCh3Z8AF1Qbrk38us5?= =?us-ascii?Q?GKCwRx1T7oTnuA/fzpPWlKwOYOpi//W02oxE1kZuSGhdxO4EQxeM23rcmFi6?= =?us-ascii?Q?ukZckeKQ4/1+7Y8rAkZhXHpvfhqtJed/XmLPihACR2A1ohVsg/ro/WQCVPAE?= =?us-ascii?Q?WT/h810nAtg1CpfruoK3BugY08fg6ErpHL6ggj9+?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SA1PR11MB5801.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 265ea77a-71f8-4432-6492-08daf8ca305f X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Jan 2023 20:34:10.4674 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: anTdBI85heOZ90chqfijo5ys42weMTog8sCwLuW0lGG+y4WQ5UODtE/xJW5/qElMIZCMwZf1X25ua1mRZVbXbQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR11MB6693 Return-Path: isaac.w.oram@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable edk2-platforms/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardB= ootOption.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 o= f the file. I am curious why this kind of global variable doesn't trigger PF and PCD do= es. 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 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 ; Gao, Liming Subject: [edk2-devel] [PATCH 2/2] BoardModulePkg: Adds PCD to load UEFI She= ll image defines two PCDs, PcdShellFile and PcdShellFileDesc, which holds the GUID a= nd description of the UEFI shell file to be loaded. A PCDs based solution gives flexibility to the user to load different image= s, by just overriding the DSC file. The user can load a diagnostic image or test image during PCDBootToShellOnl= y or later stages. Cc: Eric Dong Cc: Liming Gao Signed-off-by: Abdul Lateef Attar --- 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/In= tel/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.
+# Copyright (C) 2022 Advanced Micro Devices, Inc. All rights=20 +reserved.
# # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -266,6 +267,10 @@ [PcdsFixedAtBuild, PcdsPatchableInModule] gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspUSize|0x00000000|UINT32|0x200= 0002B gMinPlatformPkgTokenSpaceGuid.PcdFlashFvFspUOffset|0x00000000|UINT32|0x2= 000002C =20 + # GUID of Shell file to be loaded, default value is=20 + gUefiShellFileGuid define in ShellPkg.dec + gMinPlatformPkgTokenSpaceGuid.PcdShellFile|{GUID({0x7c04a583, 0x9e3e,=20 + 0x4f1c, {0xad, 0x65, 0xe0, 0x52, 0x68, 0xd0, 0xb4,=20 + 0xd1}})}|VOID*|0x20000230 + gMinPlatformPkgTokenSpaceGuid.PcdShellFileDesc|L"Internal UEFI Shell=20 + 2.0"|VOID*|0x20000231 + [PcdsDynamic, PcdsDynamicEx] gMinPlatformPkgTokenSpaceGuid.PcdPcIoApicEnable|0x0|UINT32|0x90000019 gMinPlatformPkgTokenSpaceGuid.PcdAcpiSleepControlRegisterAddressSpaceId|= 0x00|UINT8|0x0001004B diff --git a/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBds= HookLib.inf b/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBd= sHookLib.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.
+# Copyright (C) 2022 Advanced Micro Devices, Inc. All rights=20 +reserved.
# # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -59,6 +60,8 @@ [Pcd] gMinPlatformPkgTokenSpaceGuid.PcdTrustedConsoleInputDevicePath ## CON= SUMES gMinPlatformPkgTokenSpaceGuid.PcdTrustedConsoleOutputDevicePath ## CON= SUMES gMinPlatformPkgTokenSpaceGuid.PcdTrustedStorageDevicePath ## CON= SUMES + gMinPlatformPkgTokenSpaceGuid.PcdShellFile ## CON= SUMES + gMinPlatformPkgTokenSpaceGuid.PcdShellFileDesc ## CON= SUMES =20 [Sources] BoardBdsHook.h diff --git a/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBoo= tOption.c b/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBoot= Option.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. =20 Copyright (c) 2019, Intel Corporation. All rights reserved.
+Copyright (C) 2022 Advanced Micro Devices, Inc. All rights=20 +reserved.
+ SPDX-License-Identifier: BSD-2-Clause-Patent =20 **/ @@ -335,7 +337,6 @@ PlatformBootManagerWaitCallback ( =20 EFI_GUID gUefiShellFileGuid =3D { 0x7C04A583, 0x9E3E, 0x4f1c, { 0xAD, 0x65= , 0xE0, 0x52, 0x68, 0xD0, 0xB4, 0xD1 } }; =20 -#define INTERNAL_UEFI_SHELL_NAME L"Internal UEFI Shell 2.0" #define UEFI_HARD_DRIVE_NAME L"UEFI Hard Drive" =20 /** @@ -352,7 +353,8 @@ RegisterDefaultBootOption ( =20 ShellData =3D NULL; ShellDataSize =3D 0; - RegisterFvBootOption (&gUefiShellFileGuid, INTERNAL_UEFI_SHELL_NA= ME, (UINTN) -1, LOAD_OPTION_ACTIVE, (UINT8 *)ShellData, ShellDataSize); + CopyMem (&gUefiShellFileGuid, PcdGetPtr (PcdShellFile), sizeof=20 + (GUID)); + RegisterFvBootOption (&gUefiShellFileGuid, (CHAR16 *) PcdGetPtr=20 + (PcdShellFileDesc), (UINTN) -1, LOAD_OPTION_ACTIVE, (UINT8=20 + *)ShellData, ShellDataSize); =20 // // Boot Menu @@ -557,7 +559,7 @@ BootOptionPriority ( return 6; =20 } - if (StrCmp (BootOption->Description, INTERNAL_UEFI_SHELL_NAME) =3D=3D = 0) { + if (StrCmp (BootOption->Description, (CHAR16 *) PcdGetPtr=20 + (PcdShellFileDesc)) =3D=3D 0) { if (PcdGetBool (PcdBootToShellOnly)) { return 0; } -- 2.25.1