From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-qt1-f171.google.com (mail-qt1-f171.google.com [209.85.160.171]) by mx.groups.io with SMTP id smtpd.web10.30975.1658769145686315913 for ; Mon, 25 Jul 2022 10:12:25 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20210112 header.b=NE20W8n9; spf=pass (domain: gmail.com, ip: 209.85.160.171, mailfrom: benjamin.doron00@gmail.com) Received: by mail-qt1-f171.google.com with SMTP id l14so8721477qtv.4 for ; Mon, 25 Jul 2022 10:12:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ph59e0SRx0CZkYIuSd+411ZNUMINZUTmuuac1FLtGrM=; b=NE20W8n99kcImYvIjoeTQ8/+Jhip4nBTtRe1VCH5Uycgaf0M2D2xzU+s7hYA6iYVgU zUBhMQob8rbLSTL+vDZ1vEqTHcbuYUritevMfjgN3sERXqJIbBXo9sxe9ZoRQ5XC2GG4 yqQArpzCYwW4RBBGvQ4sQ/+vlj41g4+XkAIGLEKNVqSexiGQZugAqkuei+0YwluEp0ml /CgdC73ie8Rg9JTnVAt3L+AUUGYHC+FST6SL8Wd2aFT6hRrlxXaKUTWDo8xtXJmN2pzw EHnAFX+u78Ormf3ge+I2BQuhPPOC+eZpDNDi8cgDLsS6NuyPvlbrjmLKIOas3yJtqEBt JWMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ph59e0SRx0CZkYIuSd+411ZNUMINZUTmuuac1FLtGrM=; b=yykI/Dft/WRvDJp7EgXEDHnA4jpuXAyvoa8WM4tgOnqLnYRCR2bQhs+f3/VoaG1TJz E5jiok3vEDjw51PhLqZf7cV83+Py9o0XKIaeXwoMYb9ibqw0pkZikqNjI65wBGh7gpxw BQrNfEV/2IzJUntrN30QEB37iRK9XaYDi+/TBy3+KNUGWfcAk59hQLP6GDhPWqYYeLmh sfMErWG6eSDAl2NJbmoFW8vExe2JkAW1yLzUbNXqONSeD9Chbq59OGfOt8oN1kTHPCfu ZtNkh1LPmKFNTfdGGUmG6Ohq/Qz37zra9oN6XHVWPnD1GD90pFU6K8bvILgvbaV/YhgW 3XbQ== X-Gm-Message-State: AJIora/ctRfQH9UUmMxg/tLJJ7f0HzqQdJ9RYUOyE3YmBZP9/dJzavgk IKusxNRaP81mvWEfcCknExIoLZGMX6TDUg== X-Google-Smtp-Source: AGRyM1uX8XnrYqaUkOMizjy1SJshNULHqter/X/52I5TML7CUKaXBrx9oLA3F+7DZNvKYgoC70X26g== X-Received: by 2002:a05:622a:60d:b0:31f:3d4c:b044 with SMTP id z13-20020a05622a060d00b0031f3d4cb044mr1908286qta.443.1658769144314; Mon, 25 Jul 2022 10:12:24 -0700 (PDT) Return-Path: Received: from aturtleortwo-benjamindomain.. ([2607:f2c0:e98c:e:a64b:352b:84cb:57f4]) by smtp.gmail.com with ESMTPSA id x7-20020ac87307000000b0031ee34ca176sm7716456qto.59.2022.07.25.10.12.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Jul 2022 10:12:23 -0700 (PDT) From: "Benjamin Doron" To: devel@edk2.groups.io Cc: Sai Chaganty , Isaac Oram , Nate DeSimone , Ankit Sinha , Eric Dong , Dandan Bi , Liming Gao Subject: [PATCH v1 3/3] LogoFeaturePkg,BoardModulePkg: Set existing logo as BGRT Date: Mon, 25 Jul 2022 13:12:07 -0400 Message-Id: <20220725171207.3154408-3-benjamin.doron00@gmail.com> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220725171207.3154408-1-benjamin.doron00@gmail.com> References: <20220725171207.3154408-1-benjamin.doron00@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable In MinPlatform, FSP-S displays the logo to the user early. However, this means that no BGRT is written either. To reduce duplication in the flash image, a new LogoDxe will set this BMP as the BGRT buffer. The previous LogoDxe drivers here, along with a BootLogoEnableLogo() patch to BDS libraries, would begin displaying the Intel logo over the board FDF's choice - presently, these are the TianoCore logo. Also begin using BootLogoUpdateProgress(). Tested on KabylakeOpenBoardPkg, the boot logo becomes also a BGRT logo. A follow-up patch can be considered to set all platforms to use Intel's logo. Cc: Sai Chaganty Cc: Isaac Oram Cc: Nate DeSimone Cc: Ankit Sinha Cc: Eric Dong Cc: Dandan Bi Cc: Liming Gao Signed-off-by: Benjamin Doron --- Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc = | 8 - Features/Intel/UserInterface/LogoFeaturePkg/Include/LogoFeature.dsc = | 6 +- Features/Intel/UserInterface/LogoFeaturePkg/Include/PostMemory.fdf = | 6 +- Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/JpegLogo.idf = | 10 -- Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/JpegLogoDxe.inf = | 52 ------ Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/Logo.c = | 183 +++++++------------- Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/Logo.idf = | 10 -- Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/Logo.jpg = | Bin 9741 -> 0 bytes Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/LogoDxe.inf = | 24 ++- Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dec = | 2 +- Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dsc = | 3 - Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHookLib.c = | 3 +- Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHookLib.inf = | 1 + Platform/Intel/BoardModulePkg/Library/BoardBootManagerLib/BoardBootManager= .c | 31 ++++ Platform/Intel/BoardModulePkg/Library/BoardBootManagerLib/BoardBootManager= Lib.inf | 5 + Platform/Intel/MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc = | 1 + 16 files changed, 120 insertions(+), 225 deletions(-) diff --git a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.= dsc b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc index 5365f0a1b844..da663f5c833f 100644 --- a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc +++ b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc @@ -77,11 +77,3 @@ gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable = |FALSE=0D gUserAuthFeaturePkgTokenSpaceGuid.PcdUseVersion1 = |FALSE=0D gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEnable= |FALSE=0D -=0D -#=0D -# There seems to be some build parsing odd behavior that requires this PCD= to be specified even though=0D -# the *.fdf that consumes it is dependent on the feature flag.=0D -# This section is to ensure that boards have these PCD instantiated.=0D -#=0D -[PcdsFeatureFlag]=0D - gLogoFeaturePkgTokenSpaceGuid.PcdJpgEnable = |FALSE=0D diff --git a/Features/Intel/UserInterface/LogoFeaturePkg/Include/LogoFeatur= e.dsc b/Features/Intel/UserInterface/LogoFeaturePkg/Include/LogoFeature.dsc index 0acce1c7dfaf..3e990a84f8ec 100644 --- a/Features/Intel/UserInterface/LogoFeaturePkg/Include/LogoFeature.dsc +++ b/Features/Intel/UserInterface/LogoFeaturePkg/Include/LogoFeature.dsc @@ -47,8 +47,4 @@ # @todo: Change below line to [Components.$(DXE_ARCH)] after https://bugzi= lla.tianocore.org/show_bug.cgi?id=3D2308=0D # is completed.=0D [Components.X64]=0D - !if gLogoFeaturePkgTokenSpaceGuid.PcdJpgEnable =3D=3D TRUE=0D - LogoFeaturePkg/LogoDxe/JpegLogoDxe.inf=0D - !else=0D - LogoFeaturePkg/LogoDxe/LogoDxe.inf=0D - !endif=0D + LogoFeaturePkg/LogoDxe/LogoDxe.inf=0D diff --git a/Features/Intel/UserInterface/LogoFeaturePkg/Include/PostMemory= .fdf b/Features/Intel/UserInterface/LogoFeaturePkg/Include/PostMemory.fdf index fead9f3b0298..f8e368434f72 100644 --- a/Features/Intel/UserInterface/LogoFeaturePkg/Include/PostMemory.fdf +++ b/Features/Intel/UserInterface/LogoFeaturePkg/Include/PostMemory.fdf @@ -6,8 +6,4 @@ # SPDX-License-Identifier: BSD-2-Clause-Patent=0D #=0D ##=0D -!if gLogoFeaturePkgTokenSpaceGuid.PcdJpgEnable =3D=3D TRUE=0D - INF LogoFeaturePkg/LogoDxe/JpegLogoDxe.inf=0D -!else=0D - INF LogoFeaturePkg/LogoDxe/LogoDxe.inf=0D -!endif=0D +INF LogoFeaturePkg/LogoDxe/LogoDxe.inf=0D diff --git a/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/JpegLogo.i= df b/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/JpegLogo.idf deleted file mode 100644 index a39500e043e3..000000000000 --- a/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/JpegLogo.idf +++ /dev/null @@ -1,10 +0,0 @@ -// /** @file=0D -// Platform Logo image definition file.=0D -//=0D -// Copyright (c) 2020, Intel Corporation. All rights reserved.
=0D -//=0D -// SPDX-License-Identifier: BSD-2-Clause-Patent=0D -//=0D -// **/=0D -=0D -#image IMG_LOGO Logo.jpg=0D diff --git a/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/JpegLogoDx= e.inf b/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/JpegLogoDxe.inf deleted file mode 100644 index 47f1672a4c07..000000000000 --- a/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/JpegLogoDxe.inf +++ /dev/null @@ -1,52 +0,0 @@ -## @file=0D -# The default logo JPEG picture shown on setup screen.=0D -#=0D -# Copyright (c) 2020, Intel Corporation. All rights reserved.
=0D -#=0D -# SPDX-License-Identifier: BSD-2-Clause-Patent=0D -#=0D -#=0D -##=0D -=0D -[Defines]=0D - INF_VERSION =3D 0x00010005=0D - BASE_NAME =3D JpegLogoDxe=0D - FILE_GUID =3D 319CFE1D-8F15-4A7A-BF40-EECA953D87EF= =0D - MODULE_TYPE =3D DXE_DRIVER=0D - VERSION_STRING =3D 1.0=0D -=0D - ENTRY_POINT =3D InitializeLogo=0D -#=0D -# This flag specifies whether HII resource section is generated into PE i= mage.=0D -#=0D - UEFI_HII_RESOURCE_SECTION =3D TRUE=0D -=0D -#=0D -# The following information is for reference only and not required by the = build tools.=0D -#=0D -# VALID_ARCHITECTURES =3D IA32 X64=0D -#=0D -=0D -[Sources]=0D - Logo.jpg=0D - Logo.c=0D - JpegLogo.idf=0D -=0D -[Packages]=0D - MdePkg/MdePkg.dec=0D - MdeModulePkg/MdeModulePkg.dec=0D -=0D -[LibraryClasses]=0D - UefiBootServicesTableLib=0D - UefiDriverEntryPoint=0D - DebugLib=0D -=0D -[Protocols]=0D - gEfiHiiDatabaseProtocolGuid ## CONSUMES=0D - gEfiHiiImageExProtocolGuid ## CONSUMES=0D - gEfiHiiPackageListProtocolGuid ## PRODUCES CONSUMES=0D - gEdkiiPlatformLogoProtocolGuid ## PRODUCES=0D -=0D -[Depex]=0D - gEfiHiiDatabaseProtocolGuid AND=0D - gEfiHiiImageExProtocolGuid=0D diff --git a/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/Logo.c b/F= eatures/Intel/UserInterface/LogoFeaturePkg/LogoDxe/Logo.c index a636b086caf6..29b913c5bda5 100644 --- a/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/Logo.c +++ b/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/Logo.c @@ -6,88 +6,26 @@ SPDX-License-Identifier: BSD-2-Clause-Patent =0D **/=0D #include =0D -#include =0D -#include =0D -#include =0D -#include =0D -#include =0D #include =0D #include =0D -=0D -typedef struct {=0D - EFI_IMAGE_ID ImageId;=0D - EDKII_PLATFORM_LOGO_DISPLAY_ATTRIBUTE Attribute;=0D - INTN OffsetX;=0D - INTN OffsetY;=0D -} LOGO_ENTRY;=0D -=0D -EFI_HII_IMAGE_EX_PROTOCOL *mHiiImageEx;=0D -EFI_HII_HANDLE mHiiHandle;=0D -LOGO_ENTRY mLogos[] =3D {=0D - {=0D - IMAGE_TOKEN (IMG_LOGO),=0D - EdkiiPlatformLogoDisplayAttributeCenter,=0D - 0,=0D - 0=0D - }=0D -};=0D -=0D -/**=0D - Load a platform logo image and return its data and attributes.=0D -=0D - @param This The pointer to this protocol instance.=0D - @param Instance The visible image instance is found.=0D - @param Image Points to the image.=0D - @param Attribute The display attributes of the image returned.=0D - @param OffsetX The X offset of the image regarding the Attribu= te.=0D - @param OffsetY The Y offset of the image regarding the Attribu= te.=0D -=0D - @retval EFI_SUCCESS The image was fetched successfully.=0D - @retval EFI_NOT_FOUND The specified image could not be found.=0D -**/=0D -EFI_STATUS=0D -EFIAPI=0D -GetImage (=0D - IN EDKII_PLATFORM_LOGO_PROTOCOL *This,=0D - IN OUT UINT32 *Instance,=0D - OUT EFI_IMAGE_INPUT *Image,=0D - OUT EDKII_PLATFORM_LOGO_DISPLAY_ATTRIBUTE *Attribute,=0D - OUT INTN *OffsetX,=0D - OUT INTN *OffsetY=0D - )=0D -{=0D - UINT32 Current;=0D - if (Instance =3D=3D NULL || Image =3D=3D NULL ||=0D - Attribute =3D=3D NULL || OffsetX =3D=3D NULL || OffsetY =3D=3D NULL)= {=0D - return EFI_INVALID_PARAMETER;=0D - }=0D -=0D - Current =3D *Instance;=0D - if (Current >=3D ARRAY_SIZE (mLogos)) {=0D - return EFI_NOT_FOUND;=0D - }=0D -=0D - (*Instance)++;=0D - *Attribute =3D mLogos[Current].Attribute;=0D - *OffsetX =3D mLogos[Current].OffsetX;=0D - *OffsetY =3D mLogos[Current].OffsetY;=0D - return mHiiImageEx->GetImageEx (mHiiImageEx, mHiiHandle, mLogos[Current]= .ImageId, Image);=0D -}=0D -=0D -EDKII_PLATFORM_LOGO_PROTOCOL mPlatformLogo =3D {=0D - GetImage=0D -};=0D +#include =0D +#include =0D +#include =0D +#include =0D +#include =0D =0D /**=0D Entrypoint of this module.=0D =0D - This function is the entrypoint of this module. It installs the Edkii=0D - Platform Logo protocol.=0D + This function is the entrypoint of this module. It prepares the BGRT=0D + blit-buffer.=0D =0D @param ImageHandle The firmware allocated handle for the EFI imag= e.=0D @param SystemTable A pointer to the EFI System Table.=0D =0D @retval EFI_SUCCESS The entry point is executed successfully.=0D + @retval EFI_UNSUPPORTED A dependency is unavailable.=0D + @retval EFI_NOT_FOUND Failed to find the logo.=0D =0D **/=0D EFI_STATUS=0D @@ -97,57 +35,70 @@ InitializeLogo ( IN EFI_SYSTEM_TABLE *SystemTable=0D )=0D {=0D - EFI_STATUS Status;=0D - EFI_HII_PACKAGE_LIST_HEADER *PackageList;=0D - EFI_HII_DATABASE_PROTOCOL *HiiDatabase;=0D - EFI_HANDLE Handle;=0D -=0D - Status =3D gBS->LocateProtocol (=0D - &gEfiHiiDatabaseProtocolGuid,=0D - NULL,=0D - (VOID **) &HiiDatabase=0D - );=0D - ASSERT_EFI_ERROR (Status);=0D -=0D - Status =3D gBS->LocateProtocol (=0D - &gEfiHiiImageExProtocolGuid,=0D - NULL,=0D - (VOID **) &mHiiImageEx=0D - );=0D - ASSERT_EFI_ERROR (Status);=0D + EFI_STATUS Status;=0D + EDKII_BOOT_LOGO2_PROTOCOL *BootLogo2;=0D + EFI_GRAPHICS_OUTPUT_PROTOCOL *GraphicsOutput;=0D + UINT32 SizeOfX;=0D + UINT32 SizeOfY;=0D + VOID *BmpAddress;=0D + UINTN BmpSize;=0D + EFI_GRAPHICS_OUTPUT_BLT_PIXEL *Blt;=0D + UINTN BltSize;=0D + UINTN Height;=0D + UINTN Width;=0D + INTN DestX;=0D + INTN DestY;=0D =0D //=0D - // Retrieve HII package list from ImageHandle=0D + // MinPlatform has the FSP draw the logo.=0D + // Build a blit-buffer for a bitmap here and set it for a BGRT.=0D //=0D - Status =3D gBS->OpenProtocol (=0D - ImageHandle,=0D - &gEfiHiiPackageListProtocolGuid,=0D - (VOID **) &PackageList,=0D - ImageHandle,=0D - NULL,=0D - EFI_OPEN_PROTOCOL_GET_PROTOCOL=0D - );=0D + Status =3D gBS->LocateProtocol (&gEdkiiBootLogo2ProtocolGuid, NULL, (VOI= D **)&BootLogo2);=0D if (EFI_ERROR (Status)) {=0D - DEBUG ((DEBUG_ERROR, "HII Image Package with logo not found in PE/COFF= resource section\n"));=0D - return Status;=0D + return EFI_UNSUPPORTED;=0D }=0D =0D - //=0D - // Publish HII package list to HII Database.=0D - //=0D - Status =3D HiiDatabase->NewPackageList (=0D - HiiDatabase,=0D - PackageList,=0D - NULL,=0D - &mHiiHandle=0D - );=0D - if (!EFI_ERROR (Status)) {=0D - Handle =3D NULL;=0D - Status =3D gBS->InstallMultipleProtocolInterfaces (=0D - &Handle,=0D - &gEdkiiPlatformLogoProtocolGuid, &mPlatformLogo,=0D - NULL=0D - );=0D + // Determine BGRT display offsets=0D + Status =3D gBS->HandleProtocol (gST->ConsoleOutHandle, &gEfiGraphicsOutp= utProtocolGuid, (VOID **)&GraphicsOutput);=0D + if (EFI_ERROR (Status)) {=0D + return EFI_UNSUPPORTED;=0D }=0D +=0D + SizeOfX =3D GraphicsOutput->Mode->Info->HorizontalResolution;=0D + SizeOfY =3D GraphicsOutput->Mode->Info->VerticalResolution;=0D +=0D + Status =3D GetSectionFromAnyFv (=0D + &gTianoLogoGuid,=0D + EFI_SECTION_RAW,=0D + 0,=0D + &BmpAddress,=0D + &BmpSize=0D + );=0D + if (EFI_ERROR (Status)) {=0D + return EFI_NOT_FOUND;=0D + }=0D +=0D + // Allocates pool for blit-buffer=0D + Status =3D TranslateBmpToGopBlt (=0D + BmpAddress,=0D + BmpSize,=0D + &Blt,=0D + &BltSize,=0D + &Height,=0D + &Width=0D + );=0D + ASSERT_EFI_ERROR (Status);=0D +=0D + // EdkiiPlatformLogoDisplayAttributeCenter=0D + DestX =3D (SizeOfX - Width) / 2;=0D + DestY =3D (SizeOfY - Height) / 2;=0D +=0D + Status =3D BootLogo2->SetBootLogo (BootLogo2, Blt, DestX, DestY, Width, = Height);=0D +=0D + // SetBootLogo() allocates a copy pool, so free this.=0D + if (Blt !=3D NULL) {=0D + FreePool (Blt);=0D + }=0D +=0D return Status;=0D }=0D diff --git a/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/Logo.idf b= /Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/Logo.idf deleted file mode 100644 index fd9c4898156d..000000000000 --- a/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/Logo.idf +++ /dev/null @@ -1,10 +0,0 @@ -// /** @file=0D -// Platform Logo image definition file.=0D -//=0D -// Copyright (c) 2020, Intel Corporation. All rights reserved.
=0D -//=0D -// SPDX-License-Identifier: BSD-2-Clause-Patent=0D -//=0D -// **/=0D -=0D -#image IMG_LOGO Logo.bmp=0D diff --git a/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/Logo.jpg b= /Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/Logo.jpg deleted file mode 100644 index 32de8a5532c9a75ab23ffc9c59a8e8c3e4ea4a27..000000000000000000000000000= 0000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9741 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 UQ_hBdzUubk_+m{3fDrBf50_=3DK6951J diff --git a/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/LogoDxe.in= f b/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/LogoDxe.inf index 5ef93461ee4b..93840dfa71a4 100644 --- a/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/LogoDxe.inf +++ b/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/LogoDxe.inf @@ -14,12 +14,7 @@ FILE_GUID =3D 76ED6631-44FE-4ED2-8B5D-1B5355BB25E8= =0D MODULE_TYPE =3D DXE_DRIVER=0D VERSION_STRING =3D 1.0=0D -=0D ENTRY_POINT =3D InitializeLogo=0D -#=0D -# This flag specifies whether HII resource section is generated into PE i= mage.=0D -#=0D - UEFI_HII_RESOURCE_SECTION =3D TRUE=0D =0D #=0D # The following information is for reference only and not required by the = build tools.=0D @@ -28,25 +23,28 @@ #=0D =0D [Sources]=0D - Logo.bmp=0D Logo.c=0D - Logo.idf=0D =0D [Packages]=0D MdePkg/MdePkg.dec=0D MdeModulePkg/MdeModulePkg.dec=0D + LogoFeaturePkg/LogoFeaturePkg.dec=0D =0D [LibraryClasses]=0D UefiBootServicesTableLib=0D UefiDriverEntryPoint=0D DebugLib=0D + DxeServicesLib=0D + MemoryAllocationLib=0D + BmpSupportLib=0D =0D [Protocols]=0D - gEfiHiiDatabaseProtocolGuid ## CONSUMES=0D - gEfiHiiImageExProtocolGuid ## CONSUMES=0D - gEfiHiiPackageListProtocolGuid ## PRODUCES CONSUMES=0D - gEdkiiPlatformLogoProtocolGuid ## PRODUCES=0D + gEdkiiBootLogo2ProtocolGuid ## CONSUMES=0D + gEfiGraphicsOutputProtocolGuid ## CONSUMES=0D +=0D +[Guids]=0D + gTianoLogoGuid=0D =0D [Depex]=0D - gEfiHiiDatabaseProtocolGuid AND=0D - gEfiHiiImageExProtocolGuid=0D + gEdkiiBootLogo2ProtocolGuid AND=0D + gEfiGraphicsOutputProtocolGuid=0D diff --git a/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dec= b/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dec index 4fa7dfea0fcd..39cae36c5f62 100644 --- a/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dec +++ b/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dec @@ -23,7 +23,7 @@ =0D [Guids]=0D gLogoFeaturePkgTokenSpaceGuid =3D {0x567199de, 0xb448, 0x4aa0, {0x99, = 0x4e, 0xd5, 0xd6, 0x82, 0x59, 0x91, 0x17}}=0D + gTianoLogoGuid =3D {0x7BB28B99, 0x61BB, 0x11D5, {0x9A, = 0x5D, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D}}=0D =0D [PcdsFeatureFlag]=0D gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable|FALSE|BOOLEAN|0xA0000= 001=0D - gLogoFeaturePkgTokenSpaceGuid.PcdJpgEnable|FALSE|BOOLEAN|0xA0000002=0D diff --git a/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dsc= b/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dsc index 5a6436178c4e..b820baaa0a87 100644 --- a/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dsc +++ b/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dsc @@ -29,8 +29,6 @@ LogoFeaturePkg/LogoFeaturePkg.dec=0D =0D [PcdsFeatureFlag]=0D - gLogoFeaturePkgTokenSpaceGuid.PcdJpgEnable = |FALSE=0D -=0D #=0D # PCD needed for MinPlatform build includes=0D #=0D @@ -55,5 +53,4 @@ # all drivers in this package in 32b or 64b modes=0D #=0D [Components]=0D - LogoFeaturePkg/LogoDxe/JpegLogoDxe.inf=0D LogoFeaturePkg/LogoDxe/LogoDxe.inf=0D diff --git a/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBds= HookLib.c b/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBdsH= ookLib.c index 0bcee7c9a4ba..deeec1055633 100644 --- a/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHookLib= .c +++ b/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHookLib= .c @@ -9,6 +9,7 @@ =0D #include =0D =0D +#include =0D #include =0D #include =0D #include =0D @@ -1385,7 +1386,5 @@ BdsAfterConsoleReadyBeforeBootOptionCallback ( break;=0D }=0D =0D - Print (L"Press F2 for Setup, or F7 for BootMenu!\n");=0D -=0D =0D }=0D diff --git a/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBds= HookLib.inf b/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBd= sHookLib.inf index 69f3fcb55222..6375741f402a 100644 --- a/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHookLib= .inf +++ b/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHookLib= .inf @@ -34,6 +34,7 @@ PerformanceLib=0D TimerLib=0D Tcg2PhysicalPresenceLib=0D + BootLogoLib=0D =0D [Packages]=0D MdePkg/MdePkg.dec=0D diff --git a/Platform/Intel/BoardModulePkg/Library/BoardBootManagerLib/Boar= dBootManager.c b/Platform/Intel/BoardModulePkg/Library/BoardBootManagerLib/= BoardBootManager.c index f6628d4125f9..0e91d9338b43 100644 --- a/Platform/Intel/BoardModulePkg/Library/BoardBootManagerLib/BoardBootMa= nager.c +++ b/Platform/Intel/BoardModulePkg/Library/BoardBootManagerLib/BoardBootMa= nager.c @@ -11,9 +11,12 @@ #include =0D #include =0D #include =0D +#include =0D #include =0D #include =0D #include =0D +#include =0D +#include =0D =0D =0D BOOLEAN mHotKeypressed =3D FALSE;=0D @@ -31,11 +34,39 @@ BoardBootManagerWaitCallback ( UINT16 TimeoutRemain=0D )=0D {=0D + EFI_GRAPHICS_OUTPUT_BLT_PIXEL_UNION Black;=0D + EFI_GRAPHICS_OUTPUT_BLT_PIXEL_UNION White;=0D + UINT16 TimeoutInitial;=0D EFI_STATUS Status;=0D EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *TxtInEx;=0D EFI_KEY_DATA KeyData;=0D BOOLEAN PausePressed;=0D =0D + // Give user the notification, then consider being paused state.=0D + TimeoutInitial =3D PcdGet16 (PcdPlatformBootTimeOut);=0D +=0D + //=0D + // If PcdPlatformBootTimeOut is set to zero, then we consider=0D + // that no progress update should be enacted (since we'd only=0D + // ever display a one-shot progress of either 0% or 100%).=0D + //=0D + if (TimeoutInitial =3D=3D 0) {=0D + return;=0D + }=0D +=0D + Black.Raw =3D 0x00000000;=0D + White.Raw =3D 0x00FFFFFF;=0D +=0D + // Show progress at bottom center=0D + BootLogoUpdateProgress (=0D + White.Pixel,=0D + Black.Pixel,=0D + L"Press F2 for Setup, or F7 for BootMenu!\n",=0D + White.Pixel,=0D + (TimeoutInitial - TimeoutRemain) * 100 / TimeoutInitial,=0D + 0=0D + );=0D +=0D //=0D // Pause on PAUSE key=0D //=0D diff --git a/Platform/Intel/BoardModulePkg/Library/BoardBootManagerLib/Boar= dBootManagerLib.inf b/Platform/Intel/BoardModulePkg/Library/BoardBootManage= rLib/BoardBootManagerLib.inf index 38ff52ca81c6..3a7a72716b99 100644 --- a/Platform/Intel/BoardModulePkg/Library/BoardBootManagerLib/BoardBootMa= nagerLib.inf +++ b/Platform/Intel/BoardModulePkg/Library/BoardBootManagerLib/BoardBootMa= nagerLib.inf @@ -30,10 +30,15 @@ DebugLib=0D UefiLib=0D HobLib=0D + PcdLib=0D UefiBootManagerLib=0D TimerLib=0D + BootLogoLib=0D =0D [Packages]=0D MdePkg/MdePkg.dec=0D MdeModulePkg/MdeModulePkg.dec=0D MinPlatformPkg/MinPlatformPkg.dec=0D +=0D +[Pcd]=0D + gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut=0D diff --git a/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc b/= Platform/Intel/MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc index b77d55dfd550..5ff135136e28 100644 --- a/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc +++ b/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc @@ -84,6 +84,7 @@ CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf= =0D =0D UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManag= erLib.inf=0D + BootLogoLib|MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf=0D FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf= =0D SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchroniza= tionLib.inf=0D SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeS= ecurityManagementLib.inf=0D --=20 2.36.1