From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mx.groups.io with SMTP id smtpd.web09.32907.1631001234696482803 for ; Tue, 07 Sep 2021 00:53:55 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=STluv0eo; spf=pass (domain: intel.com, ip: 192.55.52.93, mailfrom: ray.ni@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10099"; a="216968534" X-IronPort-AV: E=Sophos;i="5.85,274,1624345200"; d="scan'208";a="216968534" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Sep 2021 00:53:53 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,274,1624345200"; d="scan'208";a="469094933" Received: from fmsmsx605.amr.corp.intel.com ([10.18.126.85]) by orsmga007.jf.intel.com with ESMTP; 07 Sep 2021 00:53:53 -0700 Received: from fmsmsx601.amr.corp.intel.com (10.18.126.81) by fmsmsx605.amr.corp.intel.com (10.18.126.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Tue, 7 Sep 2021 00:53:52 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Tue, 7 Sep 2021 00:53:52 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.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.2242.10; Tue, 7 Sep 2021 00:53:52 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dLp0sIRYjNOg666dF8RdH7nhsTyiPaMlQsxxucVADikJ978r8xaJmv5w473yBmZ/b9xSbU0oAcAXEFAnLVYtd0bXPzmhdnuESuf70IiR5IuHnNklzEv6MOmBtPdeX1N5yiDfchmdBI4upKVnhV95lUybbFCYKdEuRMq51AiUpJpHrRHK32n+V+PpxYLWwsXr5gDLaEudIvcCZrwEr+9XvOR4/33adBMV0WBRQnZx07Jo3oDs7nDIjfgAwbRzpXoRDmZHrgK9uNTfssIB/RzCdsjYEZ6fAeKQ8OyIpCEZxHV+5/GpVHYRlPu6pi4aUnhVuuWFChoP85cgxuA/3bghjg== 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; bh=VDnztPjTJsA81zVdbNuXib3FwbyR/w8qbRFF8WFZEzM=; b=hssd2TGODWMxhpwKhga1hQ0FwESBD5yr7Yu8/LioxQJ0KhL0INhC2fdyf1Fq/Zn3k7sem2F8mPjjwPJjvHcTlyJPHSx3y1yWHu3bqlCXzX3S+V0oWeZDt6TLdeZoFawrUxGHUvuomHm+4EhEEP/SxROB6/FX8+9x1fp1JXy2/Uho4o5ElfIFI8WAaBp+7oRw1thmon9fDWbzcgccUPIZejaZAHanednkZ2lALxOFiVdEQAyC/Lz7UxQO7H8q9jorqrtnYudtLo+l6AlFXohvWeepqF173/zYHkcDO46cjVQ3IHWZWtwyNx+rvZQhT9tH7sJKyLf1zClzi4o5k0CAnw== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=VDnztPjTJsA81zVdbNuXib3FwbyR/w8qbRFF8WFZEzM=; b=STluv0eoBx4IAvJ7QdqjqEdQizrfRuqTmae6Z/R+ehzcjSoSWEeuPUrnfDR5YfZjig00G6hCKFwZrgSE69OJL7Yg8rBz1gJQ7YedwaGfMd91bpofRp23n/8UfhF/wTCAOuGptKbJs+FhvvfGB5WgbRSCGwvg6RDCQkLzSsuDahg= Received: from PH0PR11MB4936.namprd11.prod.outlook.com (2603:10b6:510:42::20) by PH0PR11MB5192.namprd11.prod.outlook.com (2603:10b6:510:3b::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4478.22; Tue, 7 Sep 2021 07:53:51 +0000 Received: from PH0PR11MB4936.namprd11.prod.outlook.com ([fe80::1db5:81b2:cdfe:40a0]) by PH0PR11MB4936.namprd11.prod.outlook.com ([fe80::1db5:81b2:cdfe:40a0%9]) with mapi id 15.20.4478.025; Tue, 7 Sep 2021 07:53:51 +0000 From: "Ni, Ray" To: "Gao, Zhichao" , "devel@edk2.groups.io" CC: "Wang, Jian J" , Liming Gao Subject: Re: [PATCH] MdeModulePkg/UefiBootManagerLib: Limit the boot description to 72 chars Thread-Topic: [PATCH] MdeModulePkg/UefiBootManagerLib: Limit the boot description to 72 chars Thread-Index: AQHXo69pAyIat7X9/kuydzcoMKwMMauYMzag Date: Tue, 7 Sep 2021 07:53:50 +0000 Message-ID: References: <20210907061252.2069-1-zhichao.gao@intel.com> In-Reply-To: <20210907061252.2069-1-zhichao.gao@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.6.100.41 dlp-reaction: no-action dlp-product: dlpe-windows authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: ceca7136-b08a-4b56-9591-08d971d4a1c4 x-ms-traffictypediagnostic: PH0PR11MB5192: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8273; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: y7PJEjlMTLzBwiQCJ6dk05WGS7+mXQUVyhOYys0JyqtPrajeJsJu9LdCukim7aaAxSDf5j4TwK/cOgYznI1abfFQW4xBtrKGwOY2GEOLKGXyD86G30KUnDRS7Z4uUkqsxEKHq7oulAUErPFGjyodwJmbuwTVEzwxUt6s07CLfvL+4mULZe8a2jw6fO4P0b3dpAoq5qatYQbuwktNLc/lj+q1htj68xCNfsVHmbCHhvtKgwS9Zut/3uyTPMX1UPUgA2CpKzix8hnafb1HNSlNiBTwisc49TudINM5kZ2dILHw/I/CSGg/EP4p1xYP6eFgm7QLqK5HOGYe7mWCMZorqUtu9pGTA7sJb7i6tjKwmVtIqArDo1MLsBPayEpPs0aWO6hcXoF9H9Pm07mnAiaAkv2/73hSN0Eyp0VdHlAA3Rpr+3NAr2fS2s+Ym/QQR71c2iyvr05nXb5CY3Va2TPy2qx3kohwLcThwHGXV5gFaIafdZZR4Rh7lnkUUmEeJdrNHlt36UR0iQfYh+lDRTK89aft3ZRH0YlzKkrrXKVKyfWmRtGOFxo1dzKDPL36dBTEXG79QHiXkMJgEULXtEWyFdCtXfxKwdVK5W2VbrQvMFnV0Q5kTGgN6nTvKXgEdoxoe4yGF9IbfW+POJMe7gb24/MForrJXbMduagsG2MUj9INnyGU8lw7yigxZfn6S0rTO4Gsibw6AgFoSwe2EI4+jm31GV4Py/VVkJHZ4SXrELvIrkQ1h95P9JHrvZtQPBRAkqKz4bdO35USrBRYhXTpABWKG+bpTCpdxEG4W1wGxHE= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR11MB4936.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(136003)(396003)(376002)(39860400002)(366004)(346002)(122000001)(2906002)(186003)(83380400001)(966005)(33656002)(38070700005)(66446008)(478600001)(8676002)(5660300002)(7696005)(316002)(110136005)(8936002)(66946007)(9686003)(53546011)(6506007)(26005)(76116006)(64756008)(38100700002)(86362001)(71200400001)(52536014)(4326008)(66556008)(55016002)(54906003)(66476007);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?cqiI1y2UqQM9VxULQrfRvUqDKu1v6O4ZZaJv/1nTnsqWxbPVUjtxNSKw4cUL?= =?us-ascii?Q?xQ/cDhw+P4S7wALfHjMKmgf+Mz2kbvVcdZEkABPzyd2zvVm186ClgZk/b72C?= =?us-ascii?Q?b1gxBInRvFMUZ6bk5s9M/eF3VZMHvxCaBDvIjoayYd1TrrOqbX8j0olXo1uO?= =?us-ascii?Q?BmNp8Altg9VHD0jC25HT87dQHbd+/ZBlq5Ae0pxF4CMKpWNCPu0+6tGgyV7A?= =?us-ascii?Q?qcMMrCuFG27m6UqF8bCPosFOWA+CW5yeBhH8TyCqn1H0ZaagdUL3dVH5oS0d?= =?us-ascii?Q?y6TQGVl1UVfLflQRATjGMfNghLH0RYv9pLvomxHKOZgW3y+FY4QxsqpNDtlT?= =?us-ascii?Q?A4beqzSNu3F0zyUhG31ic9iB1MeuzkNKK8zxo+vadRpS+X4jOPMIt+C0XsAO?= =?us-ascii?Q?dc7mWpXbRqnJ9ja1kRKleGDQ7p4gooBJjP2SSjVbbqkL5w+glQATgrhOMZV8?= =?us-ascii?Q?wOHNAB4hAkY5546cmFLcCds53bTL7N4GVTf2V/u/4DHpkbJhpQjOLSCJFh3i?= =?us-ascii?Q?eVCGigE0wLxi0pHcPououjrwhkvZ/UK2leNmqTQXMNzPjgrHEAGtriiQSDCt?= =?us-ascii?Q?RuSXXvlsP06OP+9+N9VSSJwt2K5y9rkDcUbhVR5Agxd97fHLApyKwFO3/rsk?= =?us-ascii?Q?/s15F7Ub+X1NudtrUVhla7NyAr5GJzVV8eVzzBE9pqkncCE33tLIyVHbTuAU?= =?us-ascii?Q?Cs3l+YOhQi+oXrj/oQDSwMEkKVQv7VReBkvZuYQdKq5Jyn2nmZhkeiFQG2pl?= =?us-ascii?Q?j9kEPmyfWF4a+CV0sRcdL/Y6rvxT+83VcqhS9L78k073sZzNJaACqe+yZIt2?= =?us-ascii?Q?P66KGs3l00NL1dr3ab2+BNRpIhrQ48Hj4gXA3mDDYknPA7rtg0OD+y5rJEpi?= =?us-ascii?Q?BZRRtfzZ1lkLp81Gl6/iSSYDBUpBOUOEnbfsFtAcGRsGTCi10SGghd2cycR+?= =?us-ascii?Q?3l6dV4RoNma2lMslsqNaVjs6wUgVenidjcXSsNg9Y4pwSgjlw6Q+VHLqjvHN?= =?us-ascii?Q?SV1+5EOCqRAdd0iSjhx3fxX4XJk5Q00UefrdsW8Lqp64MXRDSTUeynIjU97N?= =?us-ascii?Q?TVUI5Nf81qo5sEAXX73vSjFm77G5ivh8ggffh9JEDN1xCTocjEqSyajZ+an7?= =?us-ascii?Q?InO/6DVur+R7Ghsg9ZPJCbEN66/h31+j/FaQ7KDsE+IBzeM+DszOhwX8ANWs?= =?us-ascii?Q?hZCpX3NxLXOCpjFUWV9RyFyBCa3Q1adYcJcg5DeCvlIU4cjh2UxWybIMd67p?= =?us-ascii?Q?0Q+h5CUc0qP86EozHr6xQO7qBHi4PhWg2fBgHQSHR9sbxK63ykJ5faZlsa5H?= =?us-ascii?Q?4iCjBX+E5sl29Oyn5fE02QvY?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB4936.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ceca7136-b08a-4b56-9591-08d971d4a1c4 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Sep 2021 07:53:50.9212 (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: muvW2+7vOPRqbmIlOR4dk4MW/Cel60nXhrSOg21cc6XHk3Cz+tBkz4flfImzy2t9VAW/vXyJvxHDwyvcbTwFvg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB5192 Return-Path: ray.ni@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Zhichao, The mode 80x25 is platform specific. I don't prefer to update common logic = to have such limitation. Can you update the UI logic of displaying the boot option list? > -----Original Message----- > From: Gao, Zhichao > Sent: Tuesday, September 7, 2021 2:13 PM > To: devel@edk2.groups.io > Cc: Wang, Jian J ; Liming Gao ; Ni, Ray > Subject: [PATCH] MdeModulePkg/UefiBootManagerLib: Limit the boot descript= ion to 72 chars >=20 > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D3590 >=20 > The minimum mode is 80*25 which means echo line can have 80 charactors > and max 25 line on the screen. And the BootManagerMeu see each boot > option as one line. The BootManagerMenuApp would have 2 charactors for > draw box and 6 charactors for space. So it is better to limit the boot > description within 72 charactors. >=20 > Cc: Jian J Wang > Cc: Liming Gao > Cc: Ray Ni > Signed-off-by: Zhichao Gao > --- > .../Library/UefiBootManagerLib/BmBootDescription.c | 24 ++++++++++++++++= ++---- > 1 file changed, 20 insertions(+), 4 deletions(-) >=20 > diff --git a/MdeModulePkg/Library/UefiBootManagerLib/BmBootDescription.c > b/MdeModulePkg/Library/UefiBootManagerLib/BmBootDescription.c > index aa891feb17..7260b2a203 100644 > --- a/MdeModulePkg/Library/UefiBootManagerLib/BmBootDescription.c > +++ b/MdeModulePkg/Library/UefiBootManagerLib/BmBootDescription.c > @@ -1,7 +1,7 @@ > /** @file >=20 > Library functions which relate with boot option description. >=20 >=20 >=20 > -Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.
>=20 > +Copyright (c) 2011 - 2021, Intel Corporation. All rights reserved.
>=20 > (C) Copyright 2015 Hewlett Packard Enterprise Development LP
>=20 > SPDX-License-Identifier: BSD-2-Clause-Patent >=20 >=20 >=20 > @@ -14,6 +14,8 @@ SPDX-License-Identifier: BSD-2-Clause-Patent > #define PRODUCT_IDENTIFICATION_OFFSET 11 >=20 > #define PRODUCT_IDENTIFICATION_LENGTH 16 >=20 >=20 >=20 > +#define MAX_BOOT_DESCRIPTION_LEGNTH 72 >=20 > + >=20 > CONST UINT16 mBmUsbLangId =3D 0x0409; // English >=20 > CHAR16 mBmUefiPrefix[] =3D L"UEFI "; >=20 >=20 >=20 > @@ -773,6 +775,7 @@ BmGetBootDescription ( > CHAR16 *DefaultDescription; >=20 > CHAR16 *Temp; >=20 > UINTN Index; >=20 > + UINTN DescriptionLen; >=20 >=20 >=20 > // >=20 > // Firstly get the default boot description >=20 > @@ -785,10 +788,23 @@ BmGetBootDescription ( > // Avoid description confusion between UEFI & Legacy boot option b= y adding "UEFI " prefix >=20 > // ONLY for core provided boot description handler. >=20 > // >=20 > - Temp =3D AllocatePool (StrSize (DefaultDescription) + sizeof (mBmU= efiPrefix)); >=20 > + if (StrLen (DefaultDescription) + StrLen (mBmUefiPrefix) > MAX_BOO= T_DESCRIPTION_LEGNTH) { >=20 > + // >=20 > + // Limit the MAX length of boot description to 72 charactors. >=20 > + // Replace the last 3 charactors to L"...". >=20 > + // >=20 > + DescriptionLen =3D MAX_BOOT_DESCRIPTION_LEGNTH + 1; >=20 > + DefaultDescription[MAX_BOOT_DESCRIPTION_LEGNTH - 5 - 3] =3D L'.'= ; >=20 > + DefaultDescription[MAX_BOOT_DESCRIPTION_LEGNTH - 5 - 2] =3D L'.'= ; >=20 > + DefaultDescription[MAX_BOOT_DESCRIPTION_LEGNTH - 5 - 1] =3D L'.'= ; >=20 > + DefaultDescription[MAX_BOOT_DESCRIPTION_LEGNTH - 5] =3D L'\0'; >=20 > + } else { >=20 > + DescriptionLen =3D (StrSize (DefaultDescription) + sizeof (mBmUe= fiPrefix)) / sizeof (CHAR16); >=20 > + } >=20 > + Temp =3D AllocatePool (DescriptionLen * sizeof (CHAR16)); >=20 > ASSERT (Temp !=3D NULL); >=20 > - StrCpyS (Temp, (StrSize (DefaultDescription) + sizeof (mBmUefiPref= ix)) / sizeof (CHAR16), mBmUefiPrefix); >=20 > - StrCatS (Temp, (StrSize (DefaultDescription) + sizeof (mBmUefiPref= ix)) / sizeof (CHAR16), DefaultDescription); >=20 > + StrCpyS (Temp, DescriptionLen, mBmUefiPrefix); >=20 > + StrCatS (Temp, DescriptionLen, DefaultDescription); >=20 > FreePool (DefaultDescription); >=20 > DefaultDescription =3D Temp; >=20 > break; >=20 > -- > 2.16.2.windows.1