From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by mx.groups.io with SMTP id smtpd.web08.3848.1631167972290945795 for ; Wed, 08 Sep 2021 23:12:53 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=b4r5YHkD; spf=pass (domain: intel.com, ip: 192.55.52.115, mailfrom: zhichao.gao@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10101"; a="220372059" X-IronPort-AV: E=Sophos;i="5.85,279,1624345200"; d="scan'208";a="220372059" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Sep 2021 23:12:51 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,279,1624345200"; d="scan'208";a="539329982" Received: from orsmsx606.amr.corp.intel.com ([10.22.229.19]) by FMSMGA003.fm.intel.com with ESMTP; 08 Sep 2021 23:12:51 -0700 Received: from orsmsx609.amr.corp.intel.com (10.22.229.22) by ORSMSX606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Wed, 8 Sep 2021 23:12:51 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx609.amr.corp.intel.com (10.22.229.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Wed, 8 Sep 2021 23:12:51 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.170) 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.2242.12; Wed, 8 Sep 2021 23:12:50 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HaCyGuFzInjXNDkQoKsrNKuwkLP4EqCEwtXFdd4dn+zq2DcgAJuy3vIc6we0n4X7rWMOE5Btcw5sxP7VAzMomW1BMqh+v88yIkheOkVmDDswCplmpLEgtpGKPi8iBi47T+NqWuYVcSaC9/Sh6LiZmWE0vuQARIwIpcJ6g84Np+DVqev6aNSkh6d9veU/cuNej9wRrjZpRtrGjFq84u652d8nUPCBQk6l1STfTXTpemh3Kw8GDMXOw9WkR6YV+0xZawtH23H8JB8dvenj/EoN63783zrnFnfrHkF27O8aptbh75Xkyt8X1xyMiKmtiY/3HzNDimsQMMmvqoEmNxiYQA== 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=y3lNTm02Ek3otXYr6AIW/mtErte3lmeJvIDWC6xcF3k=; b=AVbJKk2f3bAo5YKsAy/EpYgUyuf0uu4VKEj9M9XDqeX1vpfa0F8itoRE9+/QB+z9iFo6UwG6M+GK658+FTbqs8ZgJLR0/eKhmTYsjf1Pc7iAR9bamcQdm7MFeZcqof1fvcPIxiaD0qB9pv4OqsMKtcoxta1KzPwsQ8EOJWUM1VkFYdhWLtglKW1Akn6A0oloDJpYKfiBXjraOYnoLFAXD0y/yy/62SC6+YhuW41UDQYhffg6cGl+ePpMHu+eurIAcNHr2WVUlBIL9fs4SSLskkyftRirefubtPr4pde4bq3rNF2sdG0FRevz2mMqPq7nFV9cQY2WgyUlqjbPNb34zA== 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=y3lNTm02Ek3otXYr6AIW/mtErte3lmeJvIDWC6xcF3k=; b=b4r5YHkD03eOP4Qcu9h3ubWhYMnFCrkwPj+uxctsn2nx6CeOg1XL+jLzftDkDIIWZS7JrolmYlBjWznV2USim1qJ+JkmAI3tEoQ0A0ylJ15OejdtP2yaHD118dFZvqsnkJ+gF0Rts66aj0jA3AKUsMtDJjhrnO1FkhIwicv+ukU= Received: from BN9PR11MB5275.namprd11.prod.outlook.com (2603:10b6:408:134::24) by BN6PR11MB1857.namprd11.prod.outlook.com (2603:10b6:404:103::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4500.14; Thu, 9 Sep 2021 06:12:44 +0000 Received: from BN9PR11MB5275.namprd11.prod.outlook.com ([fe80::e881:d013:b8f9:35cb]) by BN9PR11MB5275.namprd11.prod.outlook.com ([fe80::e881:d013:b8f9:35cb%6]) with mapi id 15.20.4500.016; Thu, 9 Sep 2021 06:12:44 +0000 From: "Gao, Zhichao" To: "Ni, Ray" , "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/kuydzcoMKwMMauYMzaggAAI2FCAAiK1YIAA3BEg Date: Thu, 9 Sep 2021 06:12:44 +0000 Message-ID: References: <20210907061252.2069-1-zhichao.gao@intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: 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: af58a77b-12b5-4b32-a9b0-08d97358d688 x-ms-traffictypediagnostic: BN6PR11MB1857: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7691; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: RhUTRDdTz1MEksPjwOk3xlrJ8LAOPnYOL9TTFCVXXoSQEoEn6WhG+XucU9DeP1YxNN70yWjj5ss+NJ3L4jrgG/60kRyKTt09lwAE5X61mKK5lPa+t/cplBxFUW8jeMUlUQS1jhLkWmr903RjovSaT/gMCtspkfFNnvaMW486ZY/5lezaL0Rtr/cehkvPIxqY2j3D7DRolRsd+rG1NcK0l1ErxK5R2UslRJue6EYWd431Ocg+KjG/6Lqj5hrcAkmnSWMRhdOtIZq3CoMUabdrP2GO9n7z5SxzlN5HMbrf0hs5friTsKxlldReTK9ESjHU+KmWZaUoemg8iMm5Sx+p8haHYm4w2ow7RYzJi1P+0t5FfJghn3FcjicBhW6pHs5MynZtNuIKxkVUnyWQH1XTP5ZruSgxQqt3e1URS+PR6IbG/utYCcAq7BkomhweOBfaej4/QVqAwMWlo1pKPdWupdGWqEXRn5Zvy3e1iRd0v81i0iUqSuinGVe9N2x0Mo1oi1Gp4nfmXzdp8mHWQdO7K7r4x6hFWJDFuJ8oNJe+ETAZIJfkr1f/n7RtquLMAxwNAdQsgDlzWVEXdDqawWVXiQlsYDoTo2sC7KrukIXhmqf4X2GDFoSCWcowD6fbef7hKnwWnZGpW27LrrxN9NBGZcZejV0vfwmWTVJKWMtjBvfH6rHxHs0GuPDzgr44Y7+wUBUci8pKrZhLPdi8tMOLPSSWywQQUIteOOevgIEs1UPNKwzS9EKFienIHKME8uh7vwLM39jpO/yp4f1/I51oP1ZA89wvsUtCNJUF+MbK0d8= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR11MB5275.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(376002)(346002)(39860400002)(396003)(136003)(316002)(76116006)(33656002)(110136005)(478600001)(8676002)(5660300002)(38100700002)(122000001)(7696005)(966005)(54906003)(9686003)(55016002)(52536014)(86362001)(6506007)(186003)(2906002)(66476007)(66556008)(71200400001)(26005)(66446008)(64756008)(4326008)(83380400001)(38070700005)(8936002)(66946007)(53546011);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?5JtCT2PlIM/KvB7tazDoEzAYfmjwkBTAIc7HslJUT3QA56RUY299IS30i7AY?= =?us-ascii?Q?mGq5eNmk3zTMBgKJb8uVSqW+AJwVq4wVkRGwTFks2miW3CAhNccHhOPmBvhZ?= =?us-ascii?Q?cl4gxQ4Akt5HiOaWp73fGXXrVnQK1AfAEX2noMHwwoFvRzOzIGsauYxBqHv3?= =?us-ascii?Q?iq6gshbJ0rw2MVOxj7yiknrMJRE6w79tGbomu/If4oXwgsUyzqnvZsL97O/s?= =?us-ascii?Q?bKtbni6co3pLlQyheNXlzMEHpmyTe5FaHb+jvAAwVvYj/0LG3CIMurTU6wVl?= =?us-ascii?Q?IQs1QfhR+ZEiM046qO32R7UXqeJHZQnEvImEwNiPVoq/KGe9TrbwYiu2wKVG?= =?us-ascii?Q?MwSSfrm/7dggI1SVrm503aGC8oxBbyll1g1QHbnqwc37BMl3216UAkavkVTP?= =?us-ascii?Q?GAR3xwcfjMqdCQfOx+ZPDjgf8DxnAxGe9dEN7enSPVf+sWTAEIK5lKy3WuFn?= =?us-ascii?Q?4vubtcz8rcomucJYa5W1jz/hb4UEeiW3OnTnv9ktDEJb8zAOzUG9Iiw5yJMV?= =?us-ascii?Q?5zOhDbBwRQLfKKUKrF/G5KsTEnEF6ci7BaGipK1BblqxwPgH3VBanhZ70ndY?= =?us-ascii?Q?C390Tdsmgkl9Jt5ybHD7UCOWHz3iI/OxTl4oNQzrYeaYK3FT0+W+/x+h2jiF?= =?us-ascii?Q?ULi4rVdlTPllHL4JYNco9V9TY1eR9sen8KZjhaTChCG+voiJlqyWN/o+t6Nl?= =?us-ascii?Q?4CPiRPtYsmci+KiBECVn9l6Ywgp0T4N8fO3lbGDIVwgafg2R53BvPtH+//eT?= =?us-ascii?Q?FJ2gzV1Hn1r+V8XTlwPR6hQSiJ9G6HoQ5y0XT8QxNn37cnHObKY8E0Yi2R5/?= =?us-ascii?Q?GwT85l98g5cYY669ppKNZ7pRyQx1//S/GdSbT7CIdEE3SlCdYthOswKdC+vI?= =?us-ascii?Q?uYeuM0QTL8LDuy2dlK1sFDwo0T8flzJdPfmOfSczVyW7/MCJZYrQDHCxzoQF?= =?us-ascii?Q?ZintM++GXuffm3cB++6g9JNTKp+ZeuydCDm/Dq4l0xOCS8fv2QCV9HqG+UGV?= =?us-ascii?Q?CcXjYRdfLu9l680JGW0VwNUop7zmOUxHtVF0wMzMx18GM0Hfu28AwKeWNV26?= =?us-ascii?Q?4/dvnt9vhOVDfcbEL/7oWHXxY8mNXSDm17ZeHCSYMBogY6bdmT3ayG5sbFDZ?= =?us-ascii?Q?o+5IrUFBkPEtaCvFXOv3UP/AKah3I39UTHiHFXNYfmLeir4QiawT3m58CIr0?= =?us-ascii?Q?CIbRh6+bGmWYHvxpi4jdupLdBZGggyqKE+6Lrs2Dn3sfoux2/jwLHKv96n13?= =?us-ascii?Q?GugUilCsaouu52r2vVAl0NmbWWeO8ejR9oFDpZ1bmhfj+iD5gLWZC0JnEdqu?= =?us-ascii?Q?7/FxiKMFrvJCXh9K+YHgZgkP?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN9PR11MB5275.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: af58a77b-12b5-4b32-a9b0-08d97358d688 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Sep 2021 06:12:44.1460 (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: +ftnxzOsj1QZuQRESFY4jLicGlaFk+IZ6cL8zHgHecA12AUNCXlGqJwGGino9BuHxBj3qfDtzswV01KoqCc6ZQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB1857 Return-Path: zhichao.gao@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Well. That's another solution to limit the boot option showing in one line.= I can implement this. Thanks, Zhichao > -----Original Message----- > From: Ni, Ray > Sent: Thursday, September 9, 2021 1:02 AM > 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 >=20 > Zhichao, > I didn't mean to update UI logic to support scrolling. I meant to update = BM > logic to show partial string of boot description. >=20 > Thanks, > Ray >=20 > > -----Original Message----- > > From: Gao, Zhichao > > Sent: Wednesday, September 8, 2021 10:29 AM > > To: Ni, Ray ; devel@edk2.groups.io > > Cc: Wang, Jian J ; Liming Gao > > > > Subject: RE: [PATCH] MdeModulePkg/UefiBootManagerLib: Limit the boot > > description to 72 chars > > > > Hi Ray, > > > > Agree with you. I used to think of change the display logic of the BM > > app. But it is not tiny. It need to update the scroll bar definition an= d one > more trace for the item string lines. I would prefer to defer it. > > The limitation of the boot description length is required. I don't > > know why some USB disk would have a very long serial number string. On > > my opinion, 72 characters is enough for the boot option. If there is no > limitation, the boot description can be long enough that one screen can n= ot > even show one item. > > 80 * 25 is the minimum mode for most terminal console device. That is w= hy > I choose it and add the limitation. > > > > Thanks, > > Zhichao > > > > > -----Original Message----- > > > From: Ni, Ray > > > Sent: Tuesday, September 7, 2021 3:54 PM > > > 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 > > > > > > 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 > > > > description to 72 chars > > > > > > > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D3590 > > > > > > > > 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. > > > > > > > > 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(-) > > > > > > > > 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 > > > > > > > > Library functions which relate with boot option description. > > > > > > > > > > > > > > > > -Copyright (c) 2011 - 2018, Intel Corporation. All rights > > > > reserved.
> > > > > > > > +Copyright (c) 2011 - 2021, Intel Corporation. All rights > > > > +reserved.
> > > > > > > > (C) Copyright 2015 Hewlett Packard Enterprise Development LP
> > > > > > > > SPDX-License-Identifier: BSD-2-Clause-Patent > > > > > > > > > > > > > > > > @@ -14,6 +14,8 @@ SPDX-License-Identifier: BSD-2-Clause-Patent > > > > #define PRODUCT_IDENTIFICATION_OFFSET 11 > > > > > > > > #define PRODUCT_IDENTIFICATION_LENGTH 16 > > > > > > > > > > > > > > > > +#define MAX_BOOT_DESCRIPTION_LEGNTH 72 > > > > > > > > + > > > > > > > > CONST UINT16 mBmUsbLangId =3D 0x0409; // English > > > > > > > > CHAR16 mBmUefiPrefix[] =3D L"UEFI "; > > > > > > > > > > > > > > > > @@ -773,6 +775,7 @@ BmGetBootDescription ( > > > > CHAR16 *DefaultDescription; > > > > > > > > CHAR16 *Temp; > > > > > > > > UINTN Index; > > > > > > > > + UINTN DescriptionLen; > > > > > > > > > > > > > > > > // > > > > > > > > // Firstly get the default boot description > > > > > > > > @@ -785,10 +788,23 @@ BmGetBootDescription ( > > > > // Avoid description confusion between UEFI & Legacy boot > > > > option by adding "UEFI " prefix > > > > > > > > // ONLY for core provided boot description handler. > > > > > > > > // > > > > > > > > - Temp =3D AllocatePool (StrSize (DefaultDescription) + sizeof > > > (mBmUefiPrefix)); > > > > > > > > + if (StrLen (DefaultDescription) + StrLen (mBmUefiPrefix) > > > > > + MAX_BOOT_DESCRIPTION_LEGNTH) { > > > > > > > > + // > > > > > > > > + // Limit the MAX length of boot description to 72 characto= rs. > > > > > > > > + // Replace the last 3 charactors to L"...". > > > > > > > > + // > > > > > > > > + DescriptionLen =3D MAX_BOOT_DESCRIPTION_LEGNTH + 1; > > > > > > > > + DefaultDescription[MAX_BOOT_DESCRIPTION_LEGNTH - 5 - 3] = =3D > > > > + L'.'; > > > > > > > > + DefaultDescription[MAX_BOOT_DESCRIPTION_LEGNTH - 5 - 2] = =3D > > > > + L'.'; > > > > > > > > + DefaultDescription[MAX_BOOT_DESCRIPTION_LEGNTH - 5 - 1] = =3D > > > > + L'.'; > > > > > > > > + DefaultDescription[MAX_BOOT_DESCRIPTION_LEGNTH - 5] =3D > > > > + L'\0'; > > > > > > > > + } else { > > > > > > > > + DescriptionLen =3D (StrSize (DefaultDescription) + sizeof > > > > + (mBmUefiPrefix)) / sizeof (CHAR16); > > > > > > > > + } > > > > > > > > + Temp =3D AllocatePool (DescriptionLen * sizeof (CHAR16)); > > > > > > > > ASSERT (Temp !=3D NULL); > > > > > > > > - StrCpyS (Temp, (StrSize (DefaultDescription) + sizeof > (mBmUefiPrefix)) > > > / sizeof (CHAR16), mBmUefiPrefix); > > > > > > > > - StrCatS (Temp, (StrSize (DefaultDescription) + sizeof > (mBmUefiPrefix)) > > > / sizeof (CHAR16), DefaultDescription); > > > > > > > > + StrCpyS (Temp, DescriptionLen, mBmUefiPrefix); > > > > > > > > + StrCatS (Temp, DescriptionLen, DefaultDescription); > > > > > > > > FreePool (DefaultDescription); > > > > > > > > DefaultDescription =3D Temp; > > > > > > > > break; > > > > > > > > -- > > > > 2.16.2.windows.1