From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mx.groups.io with SMTP id smtpd.web09.6268.1631068127856725234 for ; Tue, 07 Sep 2021 19:28:48 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=B6Rnhxwf; spf=pass (domain: intel.com, ip: 192.55.52.151, mailfrom: zhichao.gao@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10100"; a="200569171" X-IronPort-AV: E=Sophos;i="5.85,276,1624345200"; d="scan'208";a="200569171" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Sep 2021 19:28:47 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,276,1624345200"; d="scan'208";a="503331125" Received: from orsmsx606.amr.corp.intel.com ([10.22.229.19]) by fmsmga008.fm.intel.com with ESMTP; 07 Sep 2021 19:28:47 -0700 Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) 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; Tue, 7 Sep 2021 19:28:46 -0700 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) by ORSMSX608.amr.corp.intel.com (10.22.229.21) 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 19:28:45 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx607.amr.corp.intel.com (10.22.229.20) 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 19:28:45 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.101) by edgegateway.intel.com (134.134.137.103) 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 19:28:44 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ERJCZ0lCD1O9fsVfIvL1Fdgs6femaxZLXD3q33OPTTn/I50fQOb0R0tr5FfbIJ7/7tY8iMF9aWobgoAhsU4DfDJRzk2M1Igno1A9QB7lD8dXEIuPLn+oCJy3/U4z0vUxqGVb0FhSylmESIBk/h3BeES/t4w3dbGMqk7PInzHF/ScU2Uv/Vd6eKwBJLNowFyn1inGrTSXQmwOWWMx9JaFdcgSt0AU4ZgCtJ9tHbONyrxFeQdaX3gk4ZH1ie1g+E/JvcmUL51watpinCF+HnZqKBsine4zKk3dtYYjM0hRqjcyCjxgmZNuonsYrYUyb2k5gFQJ6AZCGFSqdz8IG7vh0A== 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=K87aMUtATlVdiSm6AImcvyg2U260FB1ElIV7Sx21BVk=; b=fnuGngrQs05BG8YYrrJOg8dOT7uhycnjABVX6p5BQdNxIvz7sCwI9Qizzj16frgnNahVjqEJITNsigJxKzuA2TYM31LttjmrgcIAF6sJBNCSRMw6uIe401lLnTM/bIDRnMEZJ4G5CfcYorsnocHVk7CLNZMQl0yy8AN2P+x8eKe9LQl27v6wb6PbtxXhklZzGsNz1EsRlnC8sbTYqn4TIIK6ALazS2oDNZt9C85Ht+GovUyaH2snP6lL8puUGBhI9JjgmR53bazfbYwQKGAJzOUj+wDciPV8RaLcXBsVA53VIWRFH6viZUm5/sAgUTJLk//qOKcpAOdS95vvRGwqjA== 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=K87aMUtATlVdiSm6AImcvyg2U260FB1ElIV7Sx21BVk=; b=B6RnhxwfDs7d+V+HqsNRPrHkUUbz746qdAC+BgmLTFdISqeC3NvuXYDWfarkC0i+y8XvDUQJ/O6LAVRu5mRMCkfYTlx4dZjx8OkdVDLFwTkWK3EXVB2vcQtTkviYHB1/4jwwTyaQBG2mV53OjzGRvr5bDEAZjMFGFJiqSDnjLw8= Received: from DM4PR11MB5277.namprd11.prod.outlook.com (2603:10b6:5:388::23) by DM6PR11MB2604.namprd11.prod.outlook.com (2603:10b6:5:c8::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4478.20; Wed, 8 Sep 2021 02:28:43 +0000 Received: from DM4PR11MB5277.namprd11.prod.outlook.com ([fe80::fcab:50dd:7598:3b40]) by DM4PR11MB5277.namprd11.prod.outlook.com ([fe80::fcab:50dd:7598:3b40%4]) with mapi id 15.20.4478.025; Wed, 8 Sep 2021 02:28:43 +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/kuydzcoMKwMMauYMzaggAAI2FA= Date: Wed, 8 Sep 2021 02:28:43 +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: 31dae598-98c5-41e2-3997-08d9727060e2 x-ms-traffictypediagnostic: DM6PR11MB2604: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: YgNPZ9T3oL0bYmX/yV0+yw8L8c/VvaEMQfyU+PfAbdCNanEEPVYhAmQHIq4kMthgn6ezetOmLUZnp0l7Q9wm6bqySyy2gaZuFZ2sxlkyAgbakkTrFAAZJkqcgajlXYE4BzQXuIrmTKCNi+8RVQQAz47nRFuhnZOJy0i+jz9zSN/zo49dz7BX+w0ZV4lEQ8spisJLk4DThND1ZM8meHBl0zJDVddPOXr4/tHluvsQ2h+Nn0UYw1yMxoQmi3kMTfx7GZYCBvwpVHwbrEuyGxAlwh7zIl5HPnKf2epGFMot6R4QknFfKkWIDfopoJb61Xkx4EvRzNckQr+t2ZapppC/cj/NyB44acfIN1BWX74QJXOAYESelXy2p0S7W3AGbeONYvIJK/13x9ISt0enzBrK5rSBTs8K/mq33f8dtfr8HTGWjfBSYOb7jPzl4DoVYk/uyJnIvOKrgPX8XY5ABDIbW40wFoSSOv0YTAyq+SIdZGOfmsVKiXVNrfP7CSGG4DmF0XIb3qyfEX7Gx0afScekK0xKM9t6597/ZZ/LeeBYFpuFuwJHaDVwmRpykKPu89RfMf9K5Mm3/drpkzxqFrskZWWtfo91ZzfFmbWVUpxIxfHQjYYYqzUDFOekd0uVNk78ep3UBslC7r+8g15bwLjfJN15ow8xGW9HYTtY091e+ETofi5ZRVPaschmcL4+JQotfK82fb+oVv9JS0RzfC5T/OBOa4agbIV8Lw1cUHr4FagvwCWbj6gnItKo8T4pL57KfT1GYF+v+yNoz3GO3neddPoeTMtqJd8dwB3Gjho3pXQ= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR11MB5277.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(376002)(366004)(136003)(39860400002)(396003)(346002)(64756008)(66556008)(66476007)(66946007)(966005)(6506007)(76116006)(53546011)(26005)(8936002)(8676002)(186003)(38100700002)(33656002)(122000001)(478600001)(38070700005)(9686003)(316002)(86362001)(55016002)(7696005)(4326008)(83380400001)(5660300002)(54906003)(110136005)(2906002)(71200400001)(66446008)(52536014);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?ugdHQoUiedQiEFr4PTmEUiVu6dIGusDSeao59Svs5JU75zwhkhbwazYbeaCM?= =?us-ascii?Q?qyfmtOkFh4sh9taYH6lz0m9vL1BfcVdx1A7PqWby+z7uZiNnUVm7zrzT2ZUm?= =?us-ascii?Q?7qIl0GucTEYAXibj8XnVyArM6SfwhKIlq+5+XjtcCejZj25Xf8Jv1gcUDC4L?= =?us-ascii?Q?JMqaJ10v7W+VvOhe0NRyLes7xymfxj+Vm50/T9LYfv7CGp2ImbyFGPNFWLZ8?= =?us-ascii?Q?AQqG4GRhEt+TIrhF1kj9AvV4SuwCY213Pk9rrH1u/UFFRegkjJZUY466MhnC?= =?us-ascii?Q?sK62W/VU5QFy9GGYuI+g/GOMDNETggX2H49Sq48Q+uXgMfNSzOhp78vhnUz9?= =?us-ascii?Q?m8t09i2P+yypWnj5QYjUJARE7WPZakylaYbvdihxgNfNQJlGzuleypAkic+C?= =?us-ascii?Q?wTlj0N9tx7lXDfAtVazTAg/vp2ktgw5doDKk3ngi4xYNV7K/RuDWXAHqk6sH?= =?us-ascii?Q?4zHm40Je3wkYfG5JjBjZUEG34wz7Ogg1LoGGUaOGHAxtfG66VY2qr4Wb2c0f?= =?us-ascii?Q?E6FS6dCW2fVaZifIa+Z5oE9VjlKHNYnB3zk2oqSiQEph4pb3EfmVWjhP3XBG?= =?us-ascii?Q?qTk8z3BjCMdRtNZb4fp/+R8ZrkuCG+xAN6MuYwo8CUgCHzyzfglOOW8vNaaY?= =?us-ascii?Q?V1AsS+pguP14LR5ax8TGdXV/PT1KLsejeJSwBNDbPZJuGa6Hccee75apPIqU?= =?us-ascii?Q?HNLqES6pjga6P2XyHo2ezJLdNhEBCfjnliQnvnkbaQKwJw3yGbaCBIEd5BYc?= =?us-ascii?Q?vn+iryo6jALu36dUqTdfLA0owURZOImC465p8WUR9CttO3JnfB5Il+40djkf?= =?us-ascii?Q?D5oxS0rD7r38OvTcFF750FmPTY2cWOp4VGj7Cka5qPhfoac+orCfJuBsbi1h?= =?us-ascii?Q?sMkJZ56EylyX+fckiazupjGZ0QK4KFX2Sp/lXAL7MfKBWpsIH8nomMOAO77d?= =?us-ascii?Q?L0fwEvCwxAs9kmNSOshB3OEXijdjNTMhR9gFzCmIsmBraUIpZF+FolWmeVOw?= =?us-ascii?Q?WG9daVqdjtRvr03jDN7Abd4SNASPoMHPM24r87zLZXiTJPPkQhzH8u/ASMTe?= =?us-ascii?Q?/Y0jnbcXesV/hWqaNFlMvksxFnpID3FXunDL4GS3QTYHmX84BUEBr4bLB07E?= =?us-ascii?Q?5J+HXWzzQL8iArelZGgaYOBCVpL2ZDG29zllXqhEm/fo45OUB32s5DYx+rBq?= =?us-ascii?Q?rW6+OWQpzoZzHvzUi1h0L2XQHcmJUhaNW5gXB3BB2zuvwIaiMrkjq/ANVGaD?= =?us-ascii?Q?lOTstokKZ+qfF/B5wwTXrGXEe3sFzRaXJWH8g1lRpRj04xPvdhJnBjNvKUmP?= =?us-ascii?Q?jtyRTxAjgO9SeCAVuVgWzzIW?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB5277.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 31dae598-98c5-41e2-3997-08d9727060e2 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Sep 2021 02:28:43.5693 (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: yCgd8WkMT9Y+ZPxu1ZONSDVJ3txvtlLTVjSv4jRyaL9T4v9Sxu0gWZZ++7pBvzE+WI0KvcauQaCkMEuvM6spaw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB2604 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 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 and one mor= e 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 not even show one = item. 80 * 25 is the minimum mode for most terminal console device. That is why 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 >=20 > Zhichao, > The mode 80x25 is platform specific. I don't prefer to update common logi= c to > have such limitation. > Can you update the UI logic of displaying the boot option list? >=20 > > -----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 charactors. > > > > + // 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 (mBmUefiPr= efix)) > / sizeof (CHAR16), mBmUefiPrefix); > > > > - StrCatS (Temp, (StrSize (DefaultDescription) + sizeof (mBmUefiPr= efix)) > / sizeof (CHAR16), DefaultDescription); > > > > + StrCpyS (Temp, DescriptionLen, mBmUefiPrefix); > > > > + StrCatS (Temp, DescriptionLen, DefaultDescription); > > > > FreePool (DefaultDescription); > > > > DefaultDescription =3D Temp; > > > > break; > > > > -- > > 2.16.2.windows.1