From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by mx.groups.io with SMTP id smtpd.web09.15124.1660067500497030872 for ; Tue, 09 Aug 2022 10:51:40 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=XEEztZ2Y; spf=pass (domain: intel.com, ip: 134.134.136.31, 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=1660067500; x=1691603500; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=B+G3Zg2wayUTtkxvsJFCe6YcHPUzEUejlaxAMHAd5DM=; b=XEEztZ2YVOmsWQi3F1V8MJLE4NAnnlb0YiiumacG2xST0ZrgWdS8VAuf 7VxfX+odi/oEIPK3bd6uNFl9EXly+PsrgO2pk2DsqN16AdPWkJK1B3YeM 0ySmNq4UV3q338m/zct5dh98viJKMfL5hWhDupM9niv+JyQ/5Qkea3fdk SRhozQ4mbK6fEaPMXg1gb8FhOZSfwNIG/+D26BKWWUGOeM0c8VlNdp9z1 yvkjD8/89J/ajYvQFugcvFwvu0nWY46b9sFspbcqdZ9lp42cfTpDTakJ8 wKwy7MQesh4vQRMXhf+KWXKEIPYI/+Aa9/xTw561D2Ftu3LuEnV8+XtbR A==; X-IronPort-AV: E=McAfee;i="6400,9594,10434"; a="352629020" X-IronPort-AV: E=Sophos;i="5.93,225,1654585200"; d="scan'208";a="352629020" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Aug 2022 10:51:39 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,225,1654585200"; d="scan'208";a="672978293" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmsmga004.fm.intel.com with ESMTP; 09 Aug 2022 10:51:39 -0700 Received: from fmsmsx608.amr.corp.intel.com (10.18.126.88) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Tue, 9 Aug 2022 10:51:39 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx608.amr.corp.intel.com (10.18.126.88) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Tue, 9 Aug 2022 10:51:39 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28 via Frontend Transport; Tue, 9 Aug 2022 10:51:39 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.172) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.28; Tue, 9 Aug 2022 10:51:38 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CKmI7iiQOk1T7K5wslA4mXd25oDpaWQIqXJGJ6HeDiD7iaN32WPIY7M2Sa2WIgBIp10gbMzuS8+WwPUiRJfclhEzFNr7pqP9GJ2vWd5o90tHzdjYma05jPEWvWpYsvwXEFDoRWlUoYhKVOnlmHFwlS/Mdeg9Gho8TgSeRsUZ2GPmgcOpJsshIKYCyRbe/EVdNxf1hakMzakglhIhqjqBW4dM4wTPSfCaox/3Tyix98jzBME39eErQJUxIYecDJ8UM2gd+WcdUo81Hj8PstPkjmPk6lrXZChiyfbPVQ2D355cAyWlqkGPzx1dALPJWpMn/8kUJiYoNqu6c4UDRZ2KAg== 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=H6/Pe7E2EBsK+FHLMkQ16T8a9+a3FKsbE7EOaYA8UaY=; b=FGGZvCeURqJf4b7xBV9Rf+YQ0oSHKs2s6tBseZOzErr1is5YpKpqGqIqcl3gVsXaCJb1d1ud9JpqKNwk0sxampvTqPZkYHLO6+5Bbt37RRsCXtauIquXnQhF9TG9PSNY2ciDR1qx5YeCBXhBCuA47KLEbfeuiOV7x4xIC6P0FEHss7LchIAoq3X0WdWp1QioEz0hPhOK0DhAUO4wyEsVIXHVbvakoVYcSctVNnm42FfyRxCdLemLcd8EkdVAEXLlCteXRUjHxQebM8an7qmgmJyx4vpLoBaenawNOeY46Ijp4Leo3nHq+OSxDkeQQ0kVrHC1N9Us74XOefCexaYtcw== 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 MN2PR11MB4285.namprd11.prod.outlook.com (2603:10b6:208:191::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Tue, 9 Aug 2022 17:51:33 +0000 Received: from SA1PR11MB5801.namprd11.prod.outlook.com ([fe80::203f:2686:96f2:f8fe]) by SA1PR11MB5801.namprd11.prod.outlook.com ([fe80::203f:2686:96f2:f8fe%9]) with mapi id 15.20.5504.016; Tue, 9 Aug 2022 17:51:32 +0000 From: "Oram, Isaac W" To: Benjamin Doron , "devel@edk2.groups.io" CC: "Chaganty, Rangasai V" , "Desimone, Nathaniel L" , "Sinha, Ankit" , "Dong, Eric" , "Bi, Dandan" , "Gao, Liming" Subject: Re: [PATCH v1 3/3] LogoFeaturePkg,BoardModulePkg: Set existing logo as BGRT Thread-Topic: [PATCH v1 3/3] LogoFeaturePkg,BoardModulePkg: Set existing logo as BGRT Thread-Index: AQHYoEnDae4AHrciL0CmuIwSvAAjDK2ls0Qw Date: Tue, 9 Aug 2022 17:51:32 +0000 Message-ID: References: <20220725171207.3154408-1-benjamin.doron00@gmail.com> <20220725171207.3154408-3-benjamin.doron00@gmail.com> In-Reply-To: <20220725171207.3154408-3-benjamin.doron00@gmail.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.6.500.17 dlp-reaction: no-action authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 25c107ac-7ccf-49a5-5238-08da7a2fcbce x-ms-traffictypediagnostic: MN2PR11MB4285:EE_ 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: yM4Wt6r+RzFS7jD5IElCMX1nA6GoUifPaqUyUL1hABShocDXARB+tK/XVRr4Hv+kliJlbGREIMw6w0tFE0/oWCwKiSmu3OuDMYOqXdnHIiWtzsL/rir9RgqJ8xx3/O2rV1hrsfdS0weFgOAZ1H5pVDF+6BLnnWz72VHk4dOWI+JoFJD7Pmri5GAwGjSaeOXaYmgo5jibVXrRDglC1IVAC3KCsRkjn52RWedTroK+Iu8UH+k65zP4Lz2fODhPuF+PydzMga2QHdGtiUVZBKYwOq8H/da8+AThfLfFf3G4PO3+UKL1DFBMw/Gu9V5Q4T0HeqFelbTfaAJK7Z+Sf6rUUdwbQY7yobVQ5qLMWkp2cdangPzu/5ZwXfRXxeB+D7SHUFWUBPAFlhlrqUrjQxFQSUjzY0wZO4L3dDwFyzfw+EnEXjqifL84nIo87DVOXk9qkUASxjHyTLeT8RPqIWP159DC/+Pm9KjngKefRYJiG1xcSbMCNMe648qe7KFwlpqRsktgv6acHwlLesbr+lXi5A+0/cCcYyDFhE22zpNj4HKFoEGCBvBiMOfTugl8+5Wrj7g3K4GFes1g6lM7tnHraE6dCXI7icGU+PIB8efg4gpnDcuCfWis5smgYIHrYps0zSHlvvL0jRF4suqnZ4raDIXWICqgkH4tYEW/YisiPk9dFcve+MBsp+e4+Bsgvd3pCoTO60X++R6gmea9zUulzvNycaJdg1PmeyNVQjPvwmtBF0rc/vJWbnx6PpTw6fY4PMzTBqOD0QWTaQoxLej3AfnRmBIc2eNQRByWsQnp+gHwbtpIr+NiZYwpJn00/3K7xA2AbcoJCR+JvVg1C0AmaplNjgh+RG6zCel014HU7Q0= 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:(13230016)(376002)(366004)(396003)(39860400002)(136003)(346002)(76116006)(122000001)(66476007)(30864003)(52536014)(66556008)(186003)(82960400001)(8936002)(66946007)(4326008)(64756008)(8676002)(38070700005)(38100700002)(66446008)(5660300002)(55016003)(478600001)(6506007)(71200400001)(7696005)(9686003)(26005)(53546011)(2906002)(316002)(54906003)(966005)(41300700001)(110136005)(19627235002)(83380400001)(33656002)(86362001)(579004)(559001)(44824005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?lZJc6zlW9e7/A6ds0fQTBV6jJS+1zfQSuyZrSavtVrwr/IV1k2nVNL9D8UlR?= =?us-ascii?Q?A+fv4lQ7kpeArHDzqJKloMM+KYFtfDmV/INPQcIBkiNwuUGcdH2l5TU60KRA?= =?us-ascii?Q?OxO6nDYdn0vj0gbbmYZUWbA2pih88Y3EMtqVKjHBUaVq6ixtxwewgE+JvLV1?= =?us-ascii?Q?YgzsCgBDjuv18gPlLu69ZeHGqRtOeqPh/oPbwS7anslLtwBcvQdpD5IvSu+L?= =?us-ascii?Q?ldS9tN4NdttUrB1ZjZVlpdJ8/BSTmBkw8CPSQvH1Rx7HyTsDdcqth4PAYXub?= =?us-ascii?Q?K6uhuU7OVnrpd0vtI+Hiou0SmPx/lHifa7xmD4pOlljDI1NsoSEOaFN1uInu?= =?us-ascii?Q?U/G8Q1NhgSn8yCadU9JmbILMMkpPVWN64T4nmQOn82Q4oXmuBEqnUGkwfIuq?= =?us-ascii?Q?vbRo7RxunFEjxfNnRviXnDQyXG+5hg5LFmNuv7GTEvuV4uR3lGl44wbtRvRs?= =?us-ascii?Q?q5jarIcF69U8afO2br/k/GpR3orcY1ljqHTWvcgBkysB8l/viVDiifsHweX7?= =?us-ascii?Q?ZJ65YSAThVOUt+AU+IqOGr2G4D2jgTudSQVJHjSbnrHrg0peRHyqPafqkKCh?= =?us-ascii?Q?wE1jRZV1PrK7gE5utabk/F0ttZByfVS8RvGOoFUmhlbE16iZV+awhwX5vOKu?= =?us-ascii?Q?grmwIYnn4eDvzMd4K3ovm9jhG41Vxxcd8oulFG9OZQBvIUJcV3U3emhVwcIW?= =?us-ascii?Q?h5uJTZMhA40AE+MP6jcegGiUubUs3Z0Rn1mJ/Q2pmlTBc9mGHi1fCyq1iCug?= =?us-ascii?Q?QQ4bC13cIQjJOEJD7lP2zxxMiviMO31QrvVB+0PHSRdKhUzkSlrc8MDoAbbx?= =?us-ascii?Q?A0U5nxR2tXh4kiZbcnodoK0dw2TXbU31paRyOfVS1x1z8pH918hhkqMbpidu?= =?us-ascii?Q?Rr6wrz9BbbJ8E20YhBOOI3gOe/xxX9HyzuldCNNe2A2wK04QATBMG3v7B1YF?= =?us-ascii?Q?VFDvXB/RB18gr/6DmD0rLMl9dsc9MXq/aHTVgkFtpm+npQMUNFpZjgYfxbSV?= =?us-ascii?Q?q4rJc+jT7ksIHnadBxx22nb2f7Gx9i4SNtc7Z0qx0Bl7LymMqbYS1szymFr0?= =?us-ascii?Q?Kx/W95G+jRSg6s/8ENz0vG/Pi0hzKyFzMKWHQRKbkK/UKWznOpDOGNHv1c2d?= =?us-ascii?Q?MYq2Bon0Z06lN2mmWGBsNE+VMlme1P6/G3M92WTysASmGbAPgZcqj6DV7+08?= =?us-ascii?Q?rRk3GpUUc9SHBxIbbYqCXKDvhmqLjURCsxVg9+lQ35/r2qvS8RziI5/t26rq?= =?us-ascii?Q?WkCzIvItw19D3UYVnS9sieblM+i1fOGXeeDqluPOs4t6VCWZB/iUBR7YQxjf?= =?us-ascii?Q?53WQQmqUkrWMDkwQpCsrKk252lyhu7rGl6OU/Us5i5gE525MlUl0tYjK5fHv?= =?us-ascii?Q?juoSTWzi1XEgsww0rHOY98gEki+fU1nimMupEdqK5nkLMP+l5FrhMa4gys90?= =?us-ascii?Q?J9esHPWeiII/9/MrVrCRWms9b7CELQXHXRg9TDt3l2EZnP0NUllL84rhoGCT?= =?us-ascii?Q?Zh9mkxT7loAL0PRKpNbxGpcd4wATmdVCgLsapFA7ddpue13t65LM+dpjVwNb?= =?us-ascii?Q?akUzulxsJxt5mbxp4lOan3pEUNOTpP/zNLicfxRt?= 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: 25c107ac-7ccf-49a5-5238-08da7a2fcbce X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Aug 2022 17:51:32.7381 (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: m+bU0qI9VYdby7xgJwS33RLVesIX29Ar6Ae2JmUQNc/GpmvQm++YwSgF+19UiqX54+nonNjxwHJZnyWvQxFXlg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4285 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 Comments should be wrapped with blank comment lines, so comments like // Determine BGRT display offsets Should be // // Determine BGRT display offsets // There are at least 4 instances to be corrected in Logo.c And some in BoardBootManager.c // MinPlatform has the FSP draw the logo. Please make the comment more generic as it really could be implemented many= ways and we wouldn't want to be overly specific here, for example if the f= eatures is used by a bootloader without FSP support. There shouldn't be an= ything that ties this to FSP as far as I can see. Please update the Readme.md removing JPEG comments and updating for new beh= aviors. Please remove AspireVn7Dash572G use of PcdJpgEnable as this results in a bu= ild error for that board. Otherwise, looks good to me. Regards, Isaac -----Original Message----- From: Benjamin Doron =20 Sent: Monday, July 25, 2022 10:12 AM To: devel@edk2.groups.io Cc: Chaganty, Rangasai V ; Oram, Isaac W ; Desimone, Nathaniel L ; Sinha, Ankit ; Dong, Eric ;= Bi, Dandan ; Gao, Liming Subject: [PATCH v1 3/3] LogoFeaturePkg,BoardModulePkg: Set existing logo as= BGRT In MinPlatform, FSP-S displays the logo to the user early. However, this me= ans that no BGRT is written either. To reduce duplication in the flash imag= e, a new LogoDxe will set this BMP as the BGRT buffer. The previous LogoDxe= drivers here, along with a BootLogoEnableLogo() patch to BDS libraries, wo= uld 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 log= o. 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 gUserAuthFeaturePkgTokenSpaceGuid.PcdUseVersion1 = |FALSE gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeybo= ardFeatureEnable |FALSE--#-# There seems to be some build parsing odd beha= vior that requires this PCD to be specified even though-# the *.fdf that co= nsumes it is dependent on the feature flag.-# This section is to ensure tha= t boards have these PCD instantiated.-#-[PcdsFeatureFlag]- gLogoFeaturePkg= TokenSpaceGuid.PcdJpgEnable |FALSEdiff --git a= /Features/Intel/UserInterface/LogoFeaturePkg/Include/LogoFeature.dsc b/Feat= ures/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.ds +++ c @@ -47,8 +47,4 @@ # @todo: Change below line to [Components.$(DXE_ARCH)] after https://bugzi= lla.tianocore.org/show_bug.cgi?id=3D2308 # is completed. [Components= .X64]- !if gLogoFeaturePkgTokenSpaceGuid.PcdJpgEnable =3D=3D TRUE- Logo= FeaturePkg/LogoDxe/JpegLogoDxe.inf- !else- LogoFeaturePkg/LogoDxe/LogoD= xe.inf- !endif+ LogoFeaturePkg/LogoDxe/LogoDxe.infdiff --git a/Features/I= ntel/UserInterface/LogoFeaturePkg/Include/PostMemory.fdf b/Features/Intel/U= serInterface/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 # ##-!if gLogoFeaturePkgTok= enSpaceGuid.PcdJpgEnable =3D=3D TRUE- INF LogoFeaturePkg/LogoDxe/JpegLogoD= xe.inf-!else- INF LogoFeaturePkg/LogoDxe/LogoDxe.inf-!endif+INF LogoFeatur= ePkg/LogoDxe/LogoDxe.infdiff --git a/Features/Intel/UserInterface/LogoFeatu= rePkg/LogoDxe/JpegLogo.idf b/Features/Intel/UserInterface/LogoFeaturePkg/Lo= goDxe/JpegLogo.idf deleted file mode 100644 index a39500e043e3..000000000000 --- a/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/JpegLogo.idf +++ /dev/null @@ -1,10 +0,0 @@ -// /** @file-// Platform Logo image definition file.-//-// Copyright (c) 2= 020, Intel Corporation. All rights reserved.
-//-// SPDX-License-Identif= ier: BSD-2-Clause-Patent-//-// **/--#image IMG_LOGO Logo.jpgdiff --git a/Fe= atures/Intel/UserInterface/LogoFeaturePkg/LogoDxe/JpegLogoDxe.inf b/Feature= s/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-# The default logo JPEG picture shown on setup screen.-#-# Copy= right (c) 2020, Intel Corporation. All rights reserved.
-#-# SPDX-Licen= se-Identifier: BSD-2-Clause-Patent-#-#-##--[Defines]- INF_VERSION = =3D 0x00010005- BASE_NAME =3D JpegLogoDxe-= FILE_GUID =3D 319CFE1D-8F15-4A7A-BF40-EECA953D87EF- = 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 image.-#-= UEFI_HII_RESOURCE_SECTION =3D TRUE--#-# The following information is= for reference only and not required by the build tools.-#-# VALID_ARCHITE= CTURES =3D IA32 X64-#--[Sources]- Logo.jpg- Logo.c- JpegLogo.i= df--[Packages]- MdePkg/MdePkg.dec- MdeModulePkg/MdeModulePkg.dec--[Librar= yClasses]- UefiBootServicesTableLib- UefiDriverEntryPoint- DebugLib--[Pr= otocols]- gEfiHiiDatabaseProtocolGuid ## CONSUMES- gEfiHiiImageExP= rotocolGuid ## CONSUMES- gEfiHiiPackageListProtocolGuid ## PRO= DUCES CONSUMES- gEdkiiPlatformLogoProtocolGuid ## PRODUCES--[Depex]- = gEfiHiiDatabaseProtocolGuid AND- gEfiHiiImageExProtocolGuiddiff --git a/Fe= atures/Intel/UserInterface/LogoFeaturePkg/LogoDxe/Logo.c b/Features/Intel/U= serInterface/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 **/ #include -#include -#include -#include -#include -#include #include #include --typedef struct {- EFI_= IMAGE_ID ImageId;- EDKII_PLATFORM_LOGO_DISPLAY_AT= TRIBUTE Attribute;- INTN OffsetX;- INTN = OffsetY;-} LOGO_ENTRY;--EFI_HII_IMAGE_EX_P= ROTOCOL *mHiiImageEx;-EFI_HII_HANDLE mHiiHandle;-LOGO_ENTRY = mLogos[] =3D {- {- IMAGE_TOKEN (IMG_LOGO),- EdkiiPlatform= LogoDisplayAttributeCenter,- 0,- 0- }-};--/**- Load a platform logo= image and return its data and attributes.-- @param This The = pointer to this protocol instance.- @param Instance The visible i= mage instance is found.- @param Image Points to the image.- @= param Attribute The display attributes of the image returned.- @pa= ram OffsetX The X offset of the image regarding the Attribute.- = @param OffsetY The Y offset of the image regarding the Attribute.= -- @retval EFI_SUCCESS The image was fetched successfully.- @retval = EFI_NOT_FOUND The specified image could not be found.-**/-EFI_STATUS-EFI= API-GetImage (- IN EDKII_PLATFORM_LOGO_PROTOCOL *This,- IN O= UT UINT32 *Instance,- OUT EFI_IMAGE_INPU= T *Image,- OUT EDKII_PLATFORM_LOGO_DISPLAY_ATTRIB= UTE *Attribute,- OUT INTN *OffsetX,- = OUT INTN *OffsetY- )-{- UINT32 Curren= t;- if (Instance =3D=3D NULL || Image =3D=3D NULL ||- Attribute =3D= =3D NULL || OffsetX =3D=3D NULL || OffsetY =3D=3D NULL) {- return EFI_IN= VALID_PARAMETER;- }-- Current =3D *Instance;- if (Current >=3D ARRAY_SIZ= E (mLogos)) {- return EFI_NOT_FOUND;- }-- (*Instance)++;- *Attribute = =3D mLogos[Current].Attribute;- *OffsetX =3D mLogos[Current].OffsetX;- = *OffsetY =3D mLogos[Current].OffsetY;- return mHiiImageEx->GetImageEx (m= HiiImageEx, mHiiHandle, mLogos[Current].ImageId, Image);-}--EDKII_PLATFORM_= LOGO_PROTOCOL mPlatformLogo =3D {- GetImage-};+#include +#include +#include +#include +#include /** Entrypoint of this module. - This function is the entrypoint of= this module. It installs the Edkii- Platform Logo protocol.+ This functi= on is the entrypoint of this module. It prepares the BGRT+ blit-buffer. = @param ImageHandle The firmware allocated handle for the EFI image.= @param SystemTable A pointer to the EFI System Table. @retval = EFI_SUCCESS The entry point is executed successfully.+ @retval EFI_U= NSUPPORTED A dependency is unavailable.+ @retval EFI_NOT_FOUND Faile= d to find the logo. **/ EFI_STATUS@@ -97,57 +35,70 @@ InitializeLogo ( IN EFI_SYSTEM_TABLE *SystemTable ) {- EFI_STATUS = Status;- EFI_HII_PACKAGE_LIST_HEADER *PackageList;- EFI_HII_DATABASE= _PROTOCOL *HiiDatabase;- EFI_HANDLE Handle;-- Status = =3D gBS->LocateProtocol (- &gEfiHiiDatabaseProtocolGuid,- = NULL,- (VOID **) &HiiDatabase- = );- ASSERT_EFI_ERROR (Status);-- Status =3D gBS->LocateProtocol (-= &gEfiHiiImageExProtocolGuid,- NULL,- = (VOID **) &mHiiImageEx- );- ASSERT_EFI_ERRO= R (Status);+ EFI_STATUS Status;+ EDKII_BOOT_LOGO2_PRO= TOCOL *BootLogo2;+ EFI_GRAPHICS_OUTPUT_PROTOCOL *GraphicsOutput;+ = UINT32 SizeOfX;+ UINT32 Si= zeOfY;+ VOID *BmpAddress;+ UINTN = BmpSize;+ EFI_GRAPHICS_OUTPUT_BLT_PIXEL *Blt;+ UINTN = BltSize;+ UINTN Height;+ UINTN = Width;+ INTN DestX;+ I= NTN DestY; //- // Retrieve HII package list f= rom ImageHandle+ // MinPlatform has the FSP draw the logo.+ // Build a bl= it-buffer for a bitmap here and set it for a BGRT. //- Status =3D gBS->O= penProtocol (- ImageHandle,- &gEfiHiiPack= ageListProtocolGuid,- (VOID **) &PackageList,- = ImageHandle,- NULL,- EFI_OPEN_PROTO= COL_GET_PROTOCOL- );+ Status =3D gBS->LocateProtocol (&gE= dkiiBootLogo2ProtocolGuid, NULL, (VOID **)&BootLogo2); if (EFI_ERROR (Sta= tus)) {- DEBUG ((DEBUG_ERROR, "HII Image Package with logo not found in = PE/COFF resource section\n"));- return Status;+ return EFI_UNSUPPORTE= D; } - //- // Publish HII package list to HII Database.- //- Status = =3D HiiDatabase->NewPackageList (- HiiDatabase,- = PackageList,- NULL,- = &mHiiHandle- );- if (!EFI_ERR= OR (Status)) {- Handle =3D NULL;- Status =3D gBS->InstallMultipleProt= ocolInterfaces (- &Handle,- &gEdkiiPl= atformLogoProtocolGuid, &mPlatformLogo,- NULL- = );+ // Determine BGRT display offsets+ Status =3D gBS->HandlePr= otocol (gST->ConsoleOutHandle, &gEfiGraphicsOutputProtocolGuid, (VOID **)&G= raphicsOutput);+ if (EFI_ERROR (Status)) {+ return EFI_UNSUPPORTED; }= ++ SizeOfX =3D GraphicsOutput->Mode->Info->HorizontalResolution;+ SizeOfY= =3D GraphicsOutput->Mode->Info->VerticalResolution;++ Status =3D GetSecti= onFromAnyFv (+ &gTianoLogoGuid,+ EFI_SECTION_RAW,+ = 0,+ &BmpAddress,+ &BmpSize+ = );+ if (EFI_ERROR (Status)) {+ return EFI_NOT_FOUND;+ }++ // Allocat= es pool for blit-buffer+ Status =3D TranslateBmpToGopBlt (+ Bm= pAddress,+ BmpSize,+ &Blt,+ &BltSize,+ = &Height,+ &Width+ );+ ASSERT_EFI_ERROR= (Status);++ // EdkiiPlatformLogoDisplayAttributeCenter+ DestX =3D (SizeO= fX - Width) / 2;+ DestY =3D (SizeOfY - Height) / 2;++ Status =3D BootLogo= 2->SetBootLogo (BootLogo2, Blt, DestX, DestY, Width, Height);++ // SetBoot= Logo() allocates a copy pool, so free this.+ if (Blt !=3D NULL) {+ Free= Pool (Blt);+ }+ return Status; }diff --git a/Features/Intel/UserInterfac= e/LogoFeaturePkg/LogoDxe/Logo.idf b/Features/Intel/UserInterface/LogoFeatur= ePkg/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-// Platform Logo image definition file.-//-// Copyright (c) 2= 020, Intel Corporation. All rights reserved.
-//-// SPDX-License-Identif= ier: BSD-2-Clause-Patent-//-// **/--#image IMG_LOGO Logo.bmpdiff --git a/Fe= atures/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 = MODULE_TYPE =3D DXE_DRIVER VERSION_STRING = =3D 1.0- ENTRY_POINT =3D InitializeLogo-#-# Thi= s flag specifies whether HII resource section is generated into PE image.-#= - UEFI_HII_RESOURCE_SECTION =3D TRUE # # The following information i= s for reference only and not required by the build tools.@@ -28,25 +23,28 @= @ # [Sources]- Logo.bmp Logo.c- Logo.idf [Packages] MdePkg/MdePkg.de= c MdeModulePkg/MdeModulePkg.dec+ LogoFeaturePkg/LogoFeaturePkg.dec [Lib= raryClasses] UefiBootServicesTableLib UefiDriverEntryPoint DebugLib+ = DxeServicesLib+ MemoryAllocationLib+ BmpSupportLib [Protocols]- gEfiHi= iDatabaseProtocolGuid ## CONSUMES- gEfiHiiImageExProtocolGuid = ## CONSUMES- gEfiHiiPackageListProtocolGuid ## PRODUCES CONSUMES- = gEdkiiPlatformLogoProtocolGuid ## PRODUCES+ gEdkiiBootLogo2ProtocolGui= d ## CONSUMES+ gEfiGraphicsOutputProtocolGuid ## CONSUMES++[Gui= ds]+ gTianoLogoGuid [Depex]- gEfiHiiDatabaseProtocolGuid AND- gEfiHiiIm= ageExProtocolGuid+ gEdkiiBootLogo2ProtocolGuid AND+ gEfiGraphicsOutputP= rotocolGuiddiff --git a/Features/Intel/UserInterface/LogoFeaturePkg/LogoFea= turePkg.dec b/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.de= c index 4fa7dfea0fcd..39cae36c5f62 100644 --- a/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dec +++ b/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dec @@ -23,7 +23,7 @@ [Guids] gLogoFeaturePkgTokenSpaceGuid =3D {0x567199de, 0xb448, 0x4aa0= , {0x99, 0x4e, 0xd5, 0xd6, 0x82, 0x59, 0x91, 0x17}}+ gTianoLogoGuid = =3D {0x7BB28B99, 0x61BB, 0x11D5, {0x9A, 0x5D, 0x00, 0x90, 0x27, = 0x3F, 0xC1, 0x4D}} [PcdsFeatureFlag] gLogoFeaturePkgTokenSpaceGuid.PcdLo= goFeatureEnable|FALSE|BOOLEAN|0xA0000001- gLogoFeaturePkgTokenSpaceGuid.Pc= dJpgEnable|FALSE|BOOLEAN|0xA0000002diff --git a/Features/Intel/UserInterfac= e/LogoFeaturePkg/LogoFeaturePkg.dsc b/Features/Intel/UserInterface/LogoFeat= urePkg/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 [PcdsFeatureFlag]- gLogoFeaturePkgTo= kenSpaceGuid.PcdJpgEnable |FALSE- # # PCD = needed for MinPlatform build includes #@@ -55,5 +53,4 @@ # all drivers in this package in 32b or 64b modes # [Components]- LogoFea= turePkg/LogoDxe/JpegLogoDxe.inf LogoFeaturePkg/LogoDxe/LogoDxe.infdiff --= git a/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHookLib= .c b/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHookLib.= c index 0bcee7c9a4ba..deeec1055633 100644 --- a/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHookLib= .c +++ b/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHook +++ Lib.c @@ -9,6 +9,7 @@ #include +#include #include <= Library/IoLib.h> #include #include @@ -1385,7 +1386,5 @@ BdsAfterConsoleReadyBeforeBootOptionCallback= ( break; } - Print (L"Press F2 for Setup, or F7 for BootMenu!\n");-= }diff --git a/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/Board= BdsHookLib.inf b/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/Boar= dBdsHookLib.inf index 69f3fcb55222..6375741f402a 100644 --- a/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHookLib= .inf +++ b/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHook +++ Lib.inf @@ -34,6 +34,7 @@ PerformanceLib TimerLib Tcg2PhysicalPresenceLib+ BootLogoLib [Pack= ages] MdePkg/MdePkg.decdiff --git a/Platform/Intel/BoardModulePkg/Library= /BoardBootManagerLib/BoardBootManager.c b/Platform/Intel/BoardModulePkg/Lib= rary/BoardBootManagerLib/BoardBootManager.c index f6628d4125f9..0e91d9338b43 100644 --- a/Platform/Intel/BoardModulePkg/Library/BoardBootManagerLib/BoardBootMa= nager.c +++ b/Platform/Intel/BoardModulePkg/Library/BoardBootManagerLib/BoardBoo +++ tManager.c @@ -11,9 +11,12 @@ #include #include #= include +#include #include #include #include +#include +#include BOOLEAN mHotKeypressed =3D FALSE;@@ -31,11 +34,39 @@ BoardBootM= anagerWaitCallback ( UINT16 TimeoutRemain ) {+ EFI_GRAPHICS_OUTPUT_BLT_PIXEL_UNIO= N Black;+ EFI_GRAPHICS_OUTPUT_BLT_PIXEL_UNION White;+ UINT16 = TimeoutInitial; EFI_STATUS Status;= EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *TxtInEx; EFI_KEY_DATA = KeyData; BOOLEAN PausePressed; + // Give user= the notification, then consider being paused state.+ TimeoutInitial =3D P= cdGet16 (PcdPlatformBootTimeOut);++ //+ // If PcdPlatformBootTimeOut is s= et to zero, then we consider+ // that no progress update should be enacted= (since we'd only+ // ever display a one-shot progress of either 0% or 100= %).+ //+ if (TimeoutInitial =3D=3D 0) {+ return;+ }++ Black.Raw =3D = 0x00000000;+ White.Raw =3D 0x00FFFFFF;++ // Show progress at bottom cente= r+ BootLogoUpdateProgress (+ White.Pixel,+ Black.Pixel,+ L"Press = F2 for Setup, or F7 for BootMenu!\n",+ White.Pixel,+ (TimeoutInitial = - TimeoutRemain) * 100 / TimeoutInitial,+ 0+ );+ // // Pause on P= AUSE key //diff --git a/Platform/Intel/BoardModulePkg/Library/BoardBootMa= nagerLib/BoardBootManagerLib.inf b/Platform/Intel/BoardModulePkg/Library/Bo= ardBootManagerLib/BoardBootManagerLib.inf index 38ff52ca81c6..3a7a72716b99 100644 --- a/Platform/Intel/BoardModulePkg/Library/BoardBootManagerLib/BoardBootMa= nagerLib.inf +++ b/Platform/Intel/BoardModulePkg/Library/BoardBootManagerLib/BoardBoo +++ tManagerLib.inf @@ -30,10 +30,15 @@ DebugLib UefiLib HobLib+ PcdLib UefiBootManagerLib TimerLib+ B= ootLogoLib [Packages] MdePkg/MdePkg.dec MdeModulePkg/MdeModulePkg.dec = MinPlatformPkg/MinPlatformPkg.dec++[Pcd]+ gEfiMdePkgTokenSpaceGuid.PcdPl= atformBootTimeOutdiff --git a/Platform/Intel/MinPlatformPkg/Include/Dsc/Cor= eCommonLib.dsc b/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreCommonLib.ds= c 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 = UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManag= erLib.inf+ BootLogoLib|MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf = FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf = SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizatio= nLib.inf SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagement= Lib/DxeSecurityManagementLib.inf--=20 2.36.1