From nobody Mon Sep 16 20:07:22 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+114050+1787277+3901457@groups.io; arc=fail (BodyHash is different from the expected one) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1705676238040709.9276358915951; Fri, 19 Jan 2024 06:57:18 -0800 (PST) Return-Path: DKIM-Signature: a=rsa-sha256; bh=Y03wOtU5uP7pKNH8elvdr6EH2YO9j6zI0EhlHp+4XCA=; c=relaxed/simple; d=groups.io; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:Received-SPF:From:To:CC:Subject:Date:Message-ID:In-Reply-To:References:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Transfer-Encoding:Content-Type; s=20140610; t=1705676237; v=1; b=W708s+x33JBmMggyDffDoPj+jETQ7zJZSz01nXQdbCRerRbnJF2UT5G9dgTp1dqBrKrYybTt lVUTlt8Nl71TunWWiAvbdKhREBJvamnXXTSO3RD5R4Ivwm0Rxuci34a9OGl2eNjmLbsRh1u8VxR YoOBm/tvvHPFMhUvcmUPi8FM= X-Received: by 127.0.0.2 with SMTP id 2xo6YY1788612xaFJPeCGMpw; Fri, 19 Jan 2024 06:57:17 -0800 X-Received: from NAM10-DM6-obe.outbound.protection.outlook.com (NAM10-DM6-obe.outbound.protection.outlook.com [40.107.93.74]) by mx.groups.io with SMTP id smtpd.web11.5890.1705560656052895637 for ; Wed, 17 Jan 2024 22:50:56 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GUW7huf7pVBJnu9bElkzKVzVHz+LIuOQijlOKxEDwjh6h007LPnRIEqn0VmZ5Q87JqXzKvh6IYwwLCybkA0ramcb/0HgC8dV93ARzCssBKIzYVco9HlvLVU0ib8T65oSfZF7c35KXYSie1BpZyjdfNT2YiuLnFkIAD7VWwRg155EF+o3APLRnsH8OYw8T2esCoXrkcw+MPGT4JPdBqIQa9YjAdAfkbsS0GB7THToG00XT2sd/lCCK6cCrdp/BxnXXxZKy3guE7HEDmut2AoBrrkbe5fLE/A5n1Jck8wuIC/DQ6qWuon+k5bJ+277KKxDcU27eIf0iAI7PcraV/EFjg== 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=SQ0dJ2bJXDFUoYeY/Ujcsa1PTxChIp+qyMyCq0LHOHM=; b=Iw7YbIYQ0hZiRtxQoFeqp81hIztEtCXwtnUKkaR6uehZ7yxSyH+JwW5/cKfklF6cTGNsAY2VSC43p/WII4K2B7TR6OhymECwvxHh/uxd7JfnUgmhYt30/MqLmE8+/Tu8M5K7RzVhgAxkb1ZAC4TcUbiojaK/V3mfVaxmT3vVlw6LUXxoFyOsFSLdh3oAAlm8Itb4x/wtaR1Quy5zabNR2cnIMlw1LRMjuSzEsOOdMKGMcchbvZsi12BVHQR+8Qx0LtIvzyLMvAtwln3qZ51Q2/fcSBiz2MQfuAMARiaK1J0DhaPL+fHY32T7U2oJDUkHt4peK4OkMAQlpI7zdjML1A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=edk2.groups.io smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) X-Received: from CY5PR19CA0095.namprd19.prod.outlook.com (2603:10b6:930:83::10) by SN7PR12MB8603.namprd12.prod.outlook.com (2603:10b6:806:260::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.23; Thu, 18 Jan 2024 06:50:51 +0000 X-Received: from CY4PEPF0000E9D6.namprd05.prod.outlook.com (2603:10b6:930:83:cafe::e1) by CY5PR19CA0095.outlook.office365.com (2603:10b6:930:83::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7202.24 via Frontend Transport; Thu, 18 Jan 2024 06:50:51 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+114050+1787277+3901457@groups.io; helo=mail02.groups.io; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C X-Received: from SATLEXMB04.amd.com (165.204.84.17) by CY4PEPF0000E9D6.mail.protection.outlook.com (10.167.241.80) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7181.14 via Frontend Transport; Thu, 18 Jan 2024 06:50:51 +0000 X-Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Thu, 18 Jan 2024 00:50:50 -0600 X-Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB06.amd.com (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Thu, 18 Jan 2024 00:50:50 -0600 X-Received: from SHA-LX-MINGXZHA.amd.com (10.180.168.240) by SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.34 via Frontend Transport; Thu, 18 Jan 2024 00:50:49 -0600 From: "duke.zhai via groups.io" To: CC: Duke Zhai , Ken Yao , Igniculus Fu , Abner Chang Subject: [edk2-devel] [PATCH 01/33] AMD/AmdPlatformPkg: Check in AMD S3 logo Date: Thu, 18 Jan 2024 14:50:14 +0800 Message-ID: <20240118065046.961-2-duke.zhai@amd.com> In-Reply-To: <20240118065046.961-1-duke.zhai@amd.com> References: <20240118065046.961-1-duke.zhai@amd.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9D6:EE_|SN7PR12MB8603:EE_ X-MS-Office365-Filtering-Correlation-Id: ce719991-e7e0-4035-ee7a-08dc17f1cf84 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Message-Info: rKg8voSeEa47OkjPoarZNR/rtLg0CFfn1YWsPX6OWUNFx0+zYx8ZCjzKp4OWZhXS+em8r1ad/b4V0ilnWm9inp4OtgfhS8QHEKDhnrCl9W3YdwnLcroVkN+v1ZIVREEnfcN5ImDR+untIGqv05PILDkWujec4UEdL2Hde2JBLSJXt+gOBp/EGdfAqu5qlY9CmSPOnwiu9+IDDxHUWtNBG21VJasHYo/3EH377nWtvmqyrxjqkfyyvUFyxt8cAD+fPTQONeVELgqSr86aQAgDXXCPIxEHrjhhM/J8ksnnyG4JZjMUsbt6eCLd5Ip76LEVT/gge8sWi6/59YQ9Apf3w2DY2D8JYorezWOGBe9Guo8ACFKP0j/lc/n8xZeCuEOwxHwsYKqhrkCioDfJYBcyjVL6K6JwFsbkmg7latKn9mllFxTgF1viQFWc91U34uUyANGFZBxkfhR7GfEwcgf31P1+xqU9jidSEdnueQ7ZvXw6aMfjSM6xCBsawK8Pefx6CZtjB8FnOvq8yvLqBvjZhUNInikMPRLFMFZKq65I6aJFiOMOLMpUMVQH441qkQp8qTONo+7N1VZHklUoMP7BEExicai6a4kTy/n8HaNxVAnASgzxCtx6oXmSIHiqiY+CXGHhExL330s6OYspKA05zqTp/LgT0EzQRUVryFawkZ4+yU9dJvKe/rpZR+NT7+Ek5MtpABqDy9UP54WXoexny4bWMgGgYpaLa7ZgzCd2rvLLihdWPwzfxpUbsIMywbvrEPLj8yRxdBD4gGEXs4YzmC9cmQUurCmeV51KsGurg1s= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2024 06:50:51.4826 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ce719991-e7e0-4035-ee7a-08dc17f1cf84 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000E9D6.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB8603 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,duke.zhai@amd.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: hj7ptQvIX86TQNe8kRB1odo3x1787277AA= Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1705676238839100005 Content-Type: text/plain; charset="utf-8" From: Duke Zhai BZ #:4640 LogoDxe module displays boot logo. S3LogoDxe module is based on EDK2 LogoDxe module and update AMD S3 logo. Signed-off-by: Eric Xing Cc: Duke Zhai Cc: Ken Yao Cc: Igniculus Fu Cc: Abner Chang --- .../AmdPlatformPkg/Universal/LogoDxe/Logo.c | 198 ++++++++++++++++++ .../Universal/LogoDxe/S3Logo.bmp | Bin 0 -> 964114 bytes .../Universal/LogoDxe/S3Logo.idf | 9 + .../Universal/LogoDxe/S3LogoDxe.inf | 55 +++++ 4 files changed, 262 insertions(+) create mode 100644 Platform/AMD/AmdPlatformPkg/Universal/LogoDxe/Logo.c create mode 100644 Platform/AMD/AmdPlatformPkg/Universal/LogoDxe/S3Logo.bmp create mode 100644 Platform/AMD/AmdPlatformPkg/Universal/LogoDxe/S3Logo.idf create mode 100644 Platform/AMD/AmdPlatformPkg/Universal/LogoDxe/S3LogoDxe= .inf diff --git a/Platform/AMD/AmdPlatformPkg/Universal/LogoDxe/Logo.c b/Platfor= m/AMD/AmdPlatformPkg/Universal/LogoDxe/Logo.c new file mode 100644 index 0000000000..8e3d89380b --- /dev/null +++ b/Platform/AMD/AmdPlatformPkg/Universal/LogoDxe/Logo.c @@ -0,0 +1,198 @@ +/** + Copyright (C) 2024 Advanced Micro Devices, Inc. All rights reserved. +**/ + +/** @file + Logo DXE Driver, install Edk2 Platform Logo protocol. + + Copyright (c) 2016 - 2020, Intel Corporation. All rights reserved.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "Logo.h" + +EFI_HII_IMAGE_EX_PROTOCOL *mHiiImageEx; +EFI_HII_HANDLE mHiiHandle; +LOGO_ENTRY mLogos[] =3D { + { + IMAGE_TOKEN (IMG_LOGO), + EdkiiPlatformLogoDisplayAttributeCenter, + 0, + 0 + } +}; + +/** + Load a platform logo image and return its data and attributes. + + @param[in] This The pointer to this protocol instance. + @param[in, out] Instance The visible image instance is found. + @param[out] Image Points to the image. + @param[out] Attribute The display attributes of the image re= turned. + @param[out] OffsetX The X offset of the image regarding th= e Attribute. + @param[out] OffsetY The Y offset of the image regarding th= e Attribute. + + @retval EFI_SUCCESS The image was fetched successfully. + @retval EFI_NOT_FOUND The specified image could not be found. + @retval EFI_INVALID_PARAMETER One of the given input parameters are inc= orrect +**/ +EFI_STATUS +EFIAPI +GetImage ( + IN EDKII_PLATFORM_LOGO_PROTOCOL *This, + IN OUT UINT32 *Instance, + OUT EFI_IMAGE_INPUT *Image, + OUT EDKII_PLATFORM_LOGO_DISPLAY_ATTRIBUTE *Attribute, + OUT INTN *OffsetX, + OUT INTN *OffsetY + ) +{ + UINT32 Current; + + if ((Instance =3D=3D NULL) || (Image =3D=3D NULL) || + (Attribute =3D=3D NULL) || (OffsetX =3D=3D NULL) || (OffsetY =3D=3D = NULL)) + { + return EFI_INVALID_PARAMETER; + } + + Current =3D *Instance; + if (Current >=3D ARRAY_SIZE (mLogos)) { + return EFI_NOT_FOUND; + } + + (*Instance)++; // Advance to next logo. + *Attribute =3D mLogos[Current].Attribute; + *OffsetX =3D mLogos[Current].OffsetX; + *OffsetY =3D mLogos[Current].OffsetY; + return mHiiImageEx->GetImageEx (mHiiImageEx, mHiiHandle, mLogos[Current]= .ImageId, Image); +} + +EDKII_PLATFORM_LOGO_PROTOCOL mPlatformLogo =3D { + GetImage +}; + +// AMD_EDKII_OVERRIDE START + +/** + After console ready before boot option event callback + + @param[in] Event The Event this notify function registered to. + @param[in] Context Pointer to the context data registered to the Even= t. +**/ +VOID +EFIAPI +LogoDxeDisplayEventCallback ( + IN EFI_EVENT Event, + IN VOID *Context + ) +{ + DEBUG((DEBUG_INFO, "AMD logo is displaying.\n")); + + BootLogoEnableLogo (); + gBS->CloseEvent (Event); +} + +/** + Entrypoint of this module. + + This function is the entrypoint of this module. It installs the Edkii + Platform Logo protocol. + + @param ImageHandle The firmware allocated handle for the EFI imag= e. + @param SystemTable A pointer to the EFI System Table. + + @retval EFI_SUCCESS The entry point is executed successfully. + +**/ +EFI_STATUS +EFIAPI +InitializeLogo ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ) +{ + EFI_STATUS Status; + EFI_HII_PACKAGE_LIST_HEADER *PackageList; + EFI_HII_DATABASE_PROTOCOL *HiiDatabase; + EFI_HANDLE Handle; + EFI_EVENT AfterConsoleReadyBeforeBootOptionEvent; + + Status =3D gBS->LocateProtocol ( + &gEfiHiiDatabaseProtocolGuid, + NULL, + (VOID **)&HiiDatabase + ); + ASSERT_EFI_ERROR (Status); + + Status =3D gBS->LocateProtocol ( + &gEfiHiiImageExProtocolGuid, + NULL, + (VOID **)&mHiiImageEx + ); + ASSERT_EFI_ERROR (Status); + + // + // Retrieve HII package list from ImageHandle + // + Status =3D gBS->OpenProtocol ( + ImageHandle, + &gEfiHiiPackageListProtocolGuid, + (VOID **)&PackageList, + ImageHandle, + NULL, + EFI_OPEN_PROTOCOL_GET_PROTOCOL + ); + if (EFI_ERROR (Status)) { + DEBUG ((DEBUG_ERROR, "HII Image Package with logo not found in PE/COFF= resource section\n")); + return Status; + } + + // + // Publish HII package list to HII Database. + // + Status =3D HiiDatabase->NewPackageList ( + HiiDatabase, + PackageList, + NULL, + &mHiiHandle + ); + if (!EFI_ERROR (Status)) { + Handle =3D NULL; + Status =3D gBS->InstallMultipleProtocolInterfaces ( + &Handle, + &gEdkiiPlatformLogoProtocolGuid, + &mPlatformLogo, + NULL + ); + if (EFI_ERROR (Status)) { + DEBUG ((DEBUG_ERROR, "Install protocol failed.\n")); + return Status; + } + } + + // + // Create AfterConsoleReadyBeforeBootOption event callback + // + Status =3D gBS->CreateEventEx ( + EVT_NOTIFY_SIGNAL, + TPL_CALLBACK, + LogoDxeDisplayEventCallback, + NULL, + (EFI_GUID *)PcdGetPtr (PcdAmdDisplayLogoEventGuid), + &AfterConsoleReadyBeforeBootOptionEvent + ); + ASSERT_EFI_ERROR (Status); + return Status; +} diff --git a/Platform/AMD/AmdPlatformPkg/Universal/LogoDxe/S3Logo.bmp b/Pla= tform/AMD/AmdPlatformPkg/Universal/LogoDxe/S3Logo.bmp new file mode 100644 index 0000000000000000000000000000000000000000..137f4dcebe4ebd77d50f35ed3b3= 1bf76c0f5f55d GIT binary patch literal 964114 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 z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILC>Quo DNG4Z* literal 0 HcmV?d00001 diff --git a/Platform/AMD/AmdPlatformPkg/Universal/LogoDxe/S3Logo.idf b/Pla= tform/AMD/AmdPlatformPkg/Universal/LogoDxe/S3Logo.idf new file mode 100644 index 0000000000..b5eacfc5eb --- /dev/null +++ b/Platform/AMD/AmdPlatformPkg/Universal/LogoDxe/S3Logo.idf @@ -0,0 +1,9 @@ +// /** @file +// Platform Logo image definition file. +// +// Copyright (C) 2024 Advanced Micro Devices, Inc. All rights reserved. +// +// +// **/ + +#image IMG_LOGO S3Logo.bmp diff --git a/Platform/AMD/AmdPlatformPkg/Universal/LogoDxe/S3LogoDxe.inf b/= Platform/AMD/AmdPlatformPkg/Universal/LogoDxe/S3LogoDxe.inf new file mode 100644 index 0000000000..25b46e4bff --- /dev/null +++ b/Platform/AMD/AmdPlatformPkg/Universal/LogoDxe/S3LogoDxe.inf @@ -0,0 +1,55 @@ +## @file +# The default logo bitmap picture shown on setup screen. +# +# Copyright (C) 2024 Advanced Micro Devices, Inc. All rights reserved. +# +## + +[Defines] + INF_VERSION =3D 0x00010005 + BASE_NAME =3D S3LogoDxe + FILE_GUID =3D A3193794-FCBC-E9A4-1AE0-DAEA9A499808 + MODULE_TYPE =3D DXE_DRIVER + VERSION_STRING =3D 1.0 + + ENTRY_POINT =3D InitializeLogo +# +# This flag specifies whether HII resource section is generated into PE i= mage. +# + UEFI_HII_RESOURCE_SECTION =3D TRUE + +# +# The following information is for reference only and not required by the = build tools. +# +# VALID_ARCHITECTURES =3D IA32 X64 +# + +[Sources] + S3Logo.bmp + Logo.c + S3Logo.idf + +[Packages] + AmdPlatformPkg/AmdPlatformPkg.dec + MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec + +[LibraryClasses] + BootLogoLib + DebugLib + PcdLib + UefiBootServicesTableLib + UefiDriverEntryPoint + +[Protocols] + gEfiHiiDatabaseProtocolGuid ## CONSUMES + gEfiHiiImageExProtocolGuid ## CONSUMES + gEfiHiiPackageListProtocolGuid ## PRODUCES CONSUMES + gEdkiiPlatformLogoProtocolGuid ## PRODUCES + +[Pcd] + gAmdPlatformPkgTokenSpaceGuid.PcdAmdDisplayLogoEventGuid + +[Depex] + gEfiHiiDatabaseProtocolGuid AND + gEfiHiiImageExProtocolGuid -- 2.31.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#114050): https://edk2.groups.io/g/devel/message/114050 Mute This Topic: https://groups.io/mt/103831162/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-