From nobody Sat May 18 16:47:04 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+95297+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+95297+1787277+3901457@groups.io; arc=fail (BodyHash is different from the expected one) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1666054164738243.5548688303918; Mon, 17 Oct 2022 17:49:24 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id z0abYY1788612xl2B6kkbJpe; Mon, 17 Oct 2022 17:49:24 -0700 X-Received: from NAM11-DM6-obe.outbound.protection.outlook.com (NAM11-DM6-obe.outbound.protection.outlook.com [40.107.223.40]) by mx.groups.io with SMTP id smtpd.web11.38035.1665989569690581377 for ; Sun, 16 Oct 2022 23:52:50 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=V62AkDwxTZC5N11UEiXFDLWZHaK34+GPJXFFPFJQrDlK/wxzELM795/FF/EpZbLN5KoXhf+lSQqs2OmMSHtsb06D283rqFUWxJHKdfotRc0FGj9lOWdpJpyV7BiTEif0XsNx4KaGfFearCOu9juvJs4GUY8Wei1rBGSTLfmJC9Z+eXhrkfnBlnLik/JmFLGl3EfFc0FzH+SfDcx++4IDNVvlKWgPK2PEoVkj5aFWJIrBwPB+edoI4sgBLTzA0V+DAGXiQ47WPT7AjvSTHLTGRsof/gZFQaGXhWqlw64Ag73djqIaStMQFTkTPWSh1qQG9AmDoHL0qkWpTBph8/sxww== 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=89929TcJ3cG8mPKQJj1bOo+zUkbq98/nqGkSHMbr3eA=; b=JOfMEJ5ZrS4mePnsTbbp4IqU6dh2fmmSZEUQez9DuflgFchHeFxgliZRmKg9UtPOLFc6IXQSR9AuUe9k5eE1rRB5fH9rYdCOOTaIVRdede7bpbMYaDlJH8zKUFa9JFfNWpOjgwo6X/9B47Fl47iJYb8IOWhyyDLiNjcWCXbh5gwKrOLEPavAntPYeaBGPxcoxRleaDI67MH/xRW9Y5IoRUdWmkcVIyaz6mBz8wUaUsZI1q++vyuDRBZmaUSrUFWoBoAbchpNFEGAD8D7Td0GNfC5gsDbm2zjylvxHZXGxqVQWZdzXFmo7ZMYpaOTM6q4+YBXi145RKM/DCJbct1Z3g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ami.com; dmarc=pass action=none header.from=ami.com; dkim=pass header.d=ami.com; arc=none X-Received: from BL0PR10MB2898.namprd10.prod.outlook.com (2603:10b6:208:75::14) by SA2PR10MB4732.namprd10.prod.outlook.com (2603:10b6:806:fa::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.29; Mon, 17 Oct 2022 06:52:45 +0000 X-Received: from BL0PR10MB2898.namprd10.prod.outlook.com ([fe80::240a:f9da:e95d:c7f9]) by BL0PR10MB2898.namprd10.prod.outlook.com ([fe80::240a:f9da:e95d:c7f9%6]) with mapi id 15.20.5723.033; Mon, 17 Oct 2022 06:52:45 +0000 From: "Cheripally Gopi via groups.io" To: "devel@edk2.groups.io" CC: Sundaresan S , Vasudevan S , Vasudevan S , Gaoliming Subject: [edk2-devel] [PATCH] MdeModulePkg: Improved ScsiDiskDxe driver updates ControllerNameTable with common string SCSI Disk Device for all SCSI disk Thread-Topic: [PATCH] MdeModulePkg: Improved ScsiDiskDxe driver updates ControllerNameTable with common string SCSI Disk Device for all SCSI disk Thread-Index: AQHY4fUPNiDtQtrmLU+pPoy5f4/jTw== Date: Mon, 17 Oct 2022 06:52:44 +0000 Message-ID: <20221017065233.2152-1-gopic@ami.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BL0PR10MB2898:EE_|SA2PR10MB4732:EE_ x-ms-office365-filtering-correlation-id: fb988a7c-22b2-4228-724d-08dab00c31d8 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: jXlPWp9FxRkb5dQv3wwvxyiOW5LMOf7NTMN6bilFwzWen5YgFrAmxteGmMp43gfbWpz2gvQG98FRvygemMUl+dvqomcaXOC9aUYs/nfIGu5QL4q11Vrtcbn9Pdm019TBH7Cu2h4gtDZzJ10tpyE3BgXUjaa4WxFSD/hBkGt8e4hr8TREFtuJlvm/4qNpPHxydSNd+VPgjpDQ4hxyN0aKr1aHnkOTDcIz4XGWFyDBZzzYC65aMSj7R54stqhFun/tpVRZWGLxw0VhI9UNtjqguWM8sdk5mlrf07vKhX2Tft7QX9DN/78KJjKUZc8EZTGy32xCB/z39rfuS9emCL4Gr0H3YH4s5+6XybLSvZGHUhAGPJSAU+u+68kcVUW70mtIWJO55gCvMhZPrgqUKOhhDe5m+rRlOWfIRxqJrzROPVJA8qyIlHC+zfwZusf4zzLnDe5gnhLckTB2O4NhoY5k/zBs0UcIIl3BOg2jdzj0Ps2bSsyIqdVI7U3Rjf+3AjZEaXmvKhizfdB3WaluOsBy8BUdZVDFNbtL2ciksRJCGXwLmFaus+ZJoSgOYvOuUbvUhZ2JL4RQ3lcgVEwDLMlgNHaio5I+M3BLvo3B8d3iAdy4kuwbGMOjeRmD0bYU8Tk79UaGe0uENiNpEVX64wxOXEFu0DkxSK1tim91vZdjLee9w6uMgEicocWaa5l6UV6yphcOhGOl9MwoFNF6cJm+LklSkimzU0yp4xl0/nfmdtMd0uC9a9vuQrc8nQdeqr9p1qHQDY7aaYbY+dSVRgheLg== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?WQs9MnHOnhU3BaX0M1gB6rgSonTAiBzY+BajUqLQjgQEfq7a4EbY9biloA?= =?iso-8859-1?Q?UstrznCwVlssIqIf7JfB9CuhfimN7UVECACvk4XtZ/t3JuvXitaRUe88sc?= =?iso-8859-1?Q?7B3dcoTmy3pvnK7XDbRgEP6uVo2gfQq5aPjMJRhjGym1fVzcW/OqaLDVbt?= =?iso-8859-1?Q?Q+ECP1bNj9uhvWXVqKHfTONdjcf7qfkPcsFn0LMnpzGcHKghmj1+2qizKM?= =?iso-8859-1?Q?4pH7X9xMy3uLWNRZkWcpHL/d3e84IpKio4H4rsYcN2VQM2XB8CarUwm5ok?= =?iso-8859-1?Q?06/xttZVJNcPqlF7lbUCS5tc8p9r2aqnlTynRNCBVhLqbaFBzMaLhz0ed9?= =?iso-8859-1?Q?w3gdUTCdSyHA9xooYnkzAE73XQla0YM17Hd+ZFevZsY/cJ1l/stvGY72Va?= =?iso-8859-1?Q?hpw3syO+qf7+3dLwkNhAOpAYx5TvyyBabaho8pLh4+9X9yQ0Kc10BNYu2E?= =?iso-8859-1?Q?SvR5JL9TVkUhhCuayLrHjXl6hkvrciKWbqMHgTQJRjRF/1F3ECK0RnM7f/?= =?iso-8859-1?Q?See++OHIFryzOu+BvtO1uaoIMHsUVYlTI5HyN0a1+Ws4JuMIB9mWn2eefO?= =?iso-8859-1?Q?lMuPVC8zOUv2/PvVW5Qh59dLjL1j3UfOX0Q+HCU1oITDW1BLPYbkTLgTS8?= =?iso-8859-1?Q?dEe8qTMPEjAXn1mnCntp+hfuU2nAOULAElUWYS+2hAYZ8Oe3iWgSShHeNL?= =?iso-8859-1?Q?mg/srbObj8FR4VjJj7Fb1K/fKtOgWXMzH65v7eNDvstA5Wj0/hnfKgqqx+?= =?iso-8859-1?Q?GTgGxOQy5Om5ccwKNQbOfpIc+RZdAsn36sQKRJiU5mBfUKgg9Uq8ZwgmSi?= =?iso-8859-1?Q?Etz3mO0cE/JWA1SWJrp1thLdkBI+e5G3weD2VOEeSqoioXJStlomN/NfUq?= =?iso-8859-1?Q?dpkQXuahIe3AucCWn+gl/ro8LWcOzirwNT1howlPRbEwg5ws457EJVx7Md?= =?iso-8859-1?Q?8KFxLIxM1ZCA8Ae21Zvg4xC0+KmDpSy7ERwyTWIckEKd6f1IDNMRjP8fKb?= =?iso-8859-1?Q?wxE08+HFjRKOPT0rBG2wfLjk8HWjSqcMMxOGwLNyv9fbLk3ByZ2PUdXpgM?= =?iso-8859-1?Q?IbRvk+z1/7zXrlBZ3p6eC3QXMQgqmtV0Dtklv17CLxxtwJAo+uHXn1pwiW?= =?iso-8859-1?Q?1sfTjOVJ+NWr85veBYcYvit9HtedHA/FdSdBb7tS1/SLD/R4jyAazgdI3g?= =?iso-8859-1?Q?2klSWWwu8Nb8frwwzDM8vcuBm8/AR095WTuDM4VpddxjwZXXQyjQ7nCY6S?= =?iso-8859-1?Q?s+C1vDB8yuA2Mw1NEBSG24GAvjuCzD8MzNZjJBW0TvsM61HuNoaYdJLZK8?= =?iso-8859-1?Q?h9FLuF1l6wX5mhfi45rV9hJZXY+1Pk/1QxfWErfVZhZAm28beuHJk+nbFy?= =?iso-8859-1?Q?jUZWMhMFTzYhPkCmF4cnVU1ifNsrSK3kEP5C0bVLIhCHIquWFxIY4zPngB?= =?iso-8859-1?Q?2TRZ6z32Khl0qfmlsH2l2wZe14efnoBa7Jt3YYUM75N5aATqcqdRykNTF1?= =?iso-8859-1?Q?gyab71g6tws8QYUv+mnANI6wEWFMnxiV8UNW5W0haLtCT1x1mLJvEPtQQi?= =?iso-8859-1?Q?aB5Hus/1B9spCM0x4y7kmyUsYpx+V4yYLWdLC8BZVC93juUJ34zvcZ0//0?= =?iso-8859-1?Q?X1a5NU55ZZn8V4B/8C75KyTwl5jh0be9pj?= MIME-Version: 1.0 X-OriginatorOrg: ami.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BL0PR10MB2898.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: fb988a7c-22b2-4228-724d-08dab00c31d8 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Oct 2022 06:52:44.8398 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 27e97857-e15f-486c-b58e-86c2b3040f93 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: LCxL11ZtS3ziHtC8MDD3BympM+FJSIsXB1MppXufbIEIdqUCyfxTAPjHeGQpkYJE X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR10MB4732 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,gopic@ami.com X-Gm-Message-State: Na5lKcXQT5UHhPtnow9wdUM7x1787277AA= Content-Language: en-US Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1666054164; bh=F5W/ghyLs1ce41iRQem1oMRYEi/Y1H6EPOgYANeAwNw=; h=CC:Content-Type:Date:From:Reply-To:Subject:To; b=NO/JkXG71LHVF14jVawv9oiBEGrt9SFMWSMfUAFCLJJ7TuVvDcOOt+ecvJtjRZFJsQU 5HdIX34MMwNQTzmlKRPAFhmJ8gfnr0MxJgs+oPseNG5mW6vxYA/VMe4JaW1nschNyr9tm 06zIAr5E8pw831CEJwk5SBCTHuBu7mNbQyo= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1666054166139100009 Content-Type: text/plain; charset="utf-8" ScsiDiskDxe driver updates ControllerNameTable with common string SCSI Disk= Device for all SCSI disk.due to this, when multiple SCSI disk devices conn= ected, facing difficulty in identifying correct SCSI disk device. As per SCSI spec, standard Inquiry Data is having the fields to know Vendor= and Product information. Update "ControllerNameTable" with Vendor and Product information. So that, = device specific name can be retrieved using ComponentName protocol. Signed-off-by: Cheripally Gopi CC: Sundaresan S CC: Vasudevan S CC: Gaoliming --- MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDisk.c | 49 ++++++++++++++++++- MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDisk.h | 8 +++ .../Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf | 1 + 3 files changed, 56 insertions(+), 2 deletions(-) diff --git a/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDisk.c b/MdeModulePkg/Bu= s/Scsi/ScsiDiskDxe/ScsiDisk.c index 98e84b4ea8..3d05b01f8d 100644 --- a/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDisk.c +++ b/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDisk.c @@ -67,6 +67,32 @@ FreeAlignedBuffer ( } } +/** + Remove trailing spaces from the string + + @param String The ASCII string to remove the trailing spaces + + @retval the new length of the string +**/ +UINTN +RemoveTrailingSpaces ( + IN OUT CHAR8 *String +) +{ + UINTN Length =3D AsciiStrLen (String); + + if (Length =3D=3D 0) { + return 0; + } + + while ((Length > 0) && (String[Length-1] =3D=3D ' ')) { + Length--; + } + + String[Length] =3D 0; + return Length; +} + /** The user Entry Point for module ScsiDisk. @@ -203,6 +229,9 @@ ScsiDiskDriverBindingStart ( UINT8 MaxRetry; BOOLEAN NeedRetry; BOOLEAN MustReadCapacity; + CHAR8 VendorStr[VENDOR_IDENTIFICATION_LENGTH + 1]; + CHAR8 ProductStr[PRODUCT_IDENTIFICATION_LENGTH + 1]; + CHAR16 DeviceStr[VENDOR_IDENTIFICATION_LENGTH + PRODUCT_I= DENTIFICATION_LENGTH + 2]; MustReadCapacity =3D TRUE; @@ -354,19 +383,35 @@ ScsiDiskDriverBindingStart ( } } + CopyMem ( + VendorStr, + &ScsiDiskDevice->InquiryData.Reserved_5_95[VENDOR_IDENTIFICATI= ON_OFFSET], + VENDOR_IDENTIFICATION_LENGTH); + VendorStr[VENDOR_IDENTIFICATION_LENGTH] =3D 0; + RemoveTrailingSpaces (VendorStr); + + CopyMem ( + ProductStr, + &ScsiDiskDevice->InquiryData.Reserved_5_95[PRODUCT_IDENTIFICAT= ION_OFFSET], + PRODUCT_IDENTIFICATION_LENGTH); + ProductStr[PRODUCT_IDENTIFICATION_LENGTH] =3D 0; + RemoveTrailingSpaces (ProductStr); + + UnicodeSPrint (DeviceStr, sizeof (DeviceStr), L"%a %a", VendorStr,= ProductStr); + ScsiDiskDevice->ControllerNameTable =3D NULL; AddUnicodeString2 ( "eng", gScsiDiskComponentName.SupportedLanguages, &ScsiDiskDevice->ControllerNameTable, - L"SCSI Disk Device", + DeviceStr, TRUE ); AddUnicodeString2 ( "en", gScsiDiskComponentName2.SupportedLanguages, &ScsiDiskDevice->ControllerNameTable, - L"SCSI Disk Device", + DeviceStr, FALSE ); return EFI_SUCCESS; diff --git a/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDisk.h b/MdeModulePkg/Bu= s/Scsi/ScsiDiskDxe/ScsiDisk.h index d54282df5f..1a43c5030e 100644 --- a/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDisk.h +++ b/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDisk.h @@ -30,6 +30,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent #include #include #include +#include #include #include @@ -179,6 +180,13 @@ extern EFI_COMPONENT_NAME2_PROTOCOL gScsiDiskComponen= tName2; #define SCSI_COMMAND_VERSION_2 0x02 #define SCSI_COMMAND_VERSION_3 0x03 +// Per SCSI spec, EFI_SCSI_INQUIRY_DATA.Reserved_5_95[3 - 10] has the Vend= or identification +// EFI_SCSI_INQUIRY_DATA.Reserved_5_95[11 - 26] has the product identifica= tion +#define VENDOR_IDENTIFICATION_OFFSET 3 +#define VENDOR_IDENTIFICATION_LENGTH 8 +#define PRODUCT_IDENTIFICATION_OFFSET 11 +#define PRODUCT_IDENTIFICATION_LENGTH 16 + // // SCSI Disk Timeout Experience Value // diff --git a/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf b/MdeModuleP= kg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf index 40818e669b..f03ba1b1ea 100644 --- a/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf +++ b/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf @@ -46,6 +46,7 @@ UefiDriverEntryPoint DebugLib DevicePathLib + PrintLib [Protocols] gEfiDiskInfoProtocolGuid ## BY_START -- 2.33.0.windows.2 -The information contained in this message may be confidential and propriet= ary to American Megatrends (AMI). This communication is intended to be read= only by the individual or entity to whom it is addressed or by their desig= nee. If the reader of this message is not the intended recipient, you are o= n notice that any distribution of this message, in any form, is strictly pr= ohibited. Please promptly notify the sender by reply e-mail or by telephone= at 770-246-8600, and then delete or destroy all copies of the transmission. -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#95297): https://edk2.groups.io/g/devel/message/95297 Mute This Topic: https://groups.io/mt/94399351/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-