From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (NAM10-MW2-obe.outbound.protection.outlook.com [40.92.42.34]) by mx.groups.io with SMTP id smtpd.web11.851.1600455296712808850 for ; Fri, 18 Sep 2020 11:54:56 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@outlook.com header.s=selector1 header.b=DhKkadeX; spf=pass (domain: outlook.com, ip: 40.92.42.34, mailfrom: michael.kubacki@outlook.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=baK/PgRI8GDAOYSrFkcawkYlNDlmJEN87E1qRW0Ew6v7M/hbYVK8+Ys4xdng5vXhGk0CNFvKDU7q69lkPQ+sV07BOW9VU/vk1xUjdpapZWtyBsE1l8qhbQEz+AsgHmefg2HN2B6A+z+KA9yOjysMMXiZAmLJW12Tz8ipub42N0ob8BkO+3nUdVQLJ7E3CYbapsAjsi34XVyXvfJBDDOThZakfJfICi7N4rDwuiaNTmsg2MyttcFqRqSFmouiaxBUf4YNol4EZsFxLCci4SL4i+F6irxyl8Tw2h0w6/VsjZhMHxdW0SCaSpeNfg6a2i+yLFei+IaOgZEv8VDkIbUfew== 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-SenderADCheck; bh=6CocT+6cIFWyssmhMs9sqP+Yo0b0FUIcKgU4mdTXoH4=; b=mJvSssgjgefYhKzTUMbu2enzU6H3Tr+FOCbhOfWVrY3/akP2ksx2zIJ0iAyGl614YWCI1bo+pGGlB706x/tJIGChDpYk2mHb1K6DMYecR+mkOTYP2eJKJYnklrANVvL7jbW3wHLAav98IYKATgUvwDZTL2VldwOqSUXGQUcblfg2+MFdDx+qmD6GYLDByk7W+1r3hzd3Hs02of5IbUbUuWjfe+5ftAyMf8tMT4PH4811Gghexa3RIz39a2SlsyT3scA7M1e2SiJNQvLVw/7c23WlwhHtkzwk4D6a1YGmbgQLyKS9CPtwyvvZOnr4WEbd/YUX3XNSFMPFLYWow9UZlw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6CocT+6cIFWyssmhMs9sqP+Yo0b0FUIcKgU4mdTXoH4=; b=DhKkadeXBsouLHCpghUC4QN7hNJW9xKa+dpukrXpMTVhDE1RGnxTSWgCzgCkdtkp0MbELVfhicsYt97jKjcHiGv6r9ezhckYYT7VH+s9lnUd/Me75DsksucwYgKqZrsPqezFbhP5AQlWD3YXiStee8bsEwtNy6dre/oVRmPxgzpXlPabWDRpjH2FWYnRpAx+sVcFvEuGzvwHBrnDS32g/FwFq7kiXOEba1euapyWTuEarF4JeAh0pFVzP62gdM9VIxBmnZWQOArm0EsZuYY7k3CYHNWK7Y/+tRttI3ZEgW4OEp2a8HVevVnu+sfd9NSx/B1OWUyhuLgyeET94rpWnQ== Received: from MW2NAM10FT057.eop-nam10.prod.protection.outlook.com (2a01:111:e400:7e87::53) by MW2NAM10HT162.eop-nam10.prod.protection.outlook.com (2a01:111:e400:7e87::197) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3391.15; Fri, 18 Sep 2020 18:54:55 +0000 Received: from MWHPR07MB3440.namprd07.prod.outlook.com (2a01:111:e400:7e87::4a) by MW2NAM10FT057.mail.protection.outlook.com (2a01:111:e400:7e87::229) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3391.15 via Frontend Transport; Fri, 18 Sep 2020 18:54:55 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:B01EAE71C6FD1E6A4B93871D5C75941F0F503969A0D26ACFA3F7EBC4515AD90D;UpperCasedChecksum:759DED830E8D08C791C9F3622CF0F0CBC37814C7EE0118A8230BAA24A928CBAF;SizeAsReceived:9182;Count:49 Received: from MWHPR07MB3440.namprd07.prod.outlook.com ([fe80::eda9:ccc8:2ef:2471]) by MWHPR07MB3440.namprd07.prod.outlook.com ([fe80::eda9:ccc8:2ef:2471%7]) with mapi id 15.20.3370.019; Fri, 18 Sep 2020 18:54:55 +0000 Subject: Re: [edk2-devel] [PATCH v1 1/1] MdePkg: Correct EFI_BLOCK_IO_PROTOCOL_REVISION3 value To: devel@edk2.groups.io, ray.ni@intel.com Cc: "Kinney, Michael D" , Liming Gao , "Liu, Zhiguang" References: From: "Michael Kubacki" Message-ID: Date: Fri, 18 Sep 2020 11:54:54 -0700 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.12.0 In-Reply-To: X-ClientProxiedBy: MWHPR04CA0038.namprd04.prod.outlook.com (2603:10b6:300:ee::24) To MWHPR07MB3440.namprd07.prod.outlook.com (2603:10b6:301:69::28) Return-Path: michael.kubacki@outlook.com X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from [IPv6:2001:4898:d8:39:fd6e:2320:543b:65ed] (2001:4898:80e8:2:7d95:2320:543b:65ed) by MWHPR04CA0038.namprd04.prod.outlook.com (2603:10b6:300:ee::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3391.11 via Frontend Transport; Fri, 18 Sep 2020 18:54:55 +0000 X-Microsoft-Original-Message-ID: X-TMN: [+0ZQzN33Ilq8poRyAFv0CdYeUJFm3cXr/DfcuT7K+bamN6azyF7bDm4VP9TvLNdI] X-MS-PublicTrafficType: Email X-IncomingHeaderCount: 49 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-Correlation-Id: 26bdb4c1-fdde-496d-b5ad-08d85c045548 X-MS-TrafficTypeDiagnostic: MW2NAM10HT162: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 5TPYb2QlcG6wpofUBc5viq7gDr6uhRV0Aj/ClQDCXah5+cSffSCuPNRbipXRmKWFBxdhcF3CwPlxoF+Jce1mUhCpiVuDTCIC5ku9QRqjzU41Jd3gfbkOvs5mm2aA84Mh7DgoiKIWgtXDyBZw9e7FHY2DibfEPIfOn3SXnnHwsBJ0ln3HmgjhdJKcWoZ/C8JN3nEyFxA1SwvFP+HvzdX159iP8fIg3rCyiZ4zwRIek/WuFC9yQf+EUPQLtDk7Kv4G X-MS-Exchange-AntiSpam-MessageData: f7qPXW/wo8qzfisE1PL13pZZUF6nOKto7t6L/wF5eJL+TlYAaTPDmlurpqq14rMCTD2YwlV0jErBx2DzAefcPoiZtCZObuk9orxeH3+INY2arCvYYC9wfei+Zla+OgYLOw6auyn+K7R2ELFhMSfQs/CmxwuwiB6LHKnAbS3EjUObZOlBNKAQS/8apEYta6nkJaxbIAYj/+dxBmU/gqZ3mw== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 26bdb4c1-fdde-496d-b5ad-08d85c045548 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Sep 2020 18:54:55.5826 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-AuthSource: MW2NAM10FT057.eop-nam10.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW2NAM10HT162 Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Hi Ray, Rev3 adds the UINT32 field OptimalTransferLengthGranularity field to EFI_BLOCK_IO_MEDIA. A preexisting binary Block I/O producer that uses this field will set their revision to the higher value and the only check I see in edk2 (PartitionDxe) on the revision to access this field checks for >= EFI_BLOCK_IO_PROTOCOL_REVISION3. If a binary Block I/O producer is built with the new value that is consumed by a module built with the older value it might ignore the OptimalTransferLengthGranularity field. I do not see where this is the case in edk2 other than PartitionDxe which sets the OptimalTransferLengthGranularity field to zero for Rev3. You have contributed to this code in the past so feel free to provide any further insight if needed. That said, this change was made to fix a bug in the edk2 implementation to remove a conflict with the UEFI Spec, the two should be in agreement. I suggest the change be added to the next stable tag release notes so authors of such modules are made aware they should release an update with the new revision value. Thanks, Michael On 9/17/2020 6:25 PM, Ni, Ray wrote: > Mike, > Have you evaluated the impact to the already-released module that relies on the macro value? > > Basically, you changed to a smaller value that may cause a revision3 check fail: > a released module expects the revision is bigger than 0x31, but the value is 0x1f. > > Thanks, > Ray > >> -----Original Message----- >> From: devel@edk2.groups.io On Behalf Of Michael Kubacki >> Sent: Tuesday, September 15, 2020 2:11 AM >> To: devel@edk2.groups.io >> Cc: Kinney, Michael D ; Liming Gao ; Liu, Zhiguang >> >> Subject: [edk2-devel] [PATCH v1 1/1] MdePkg: Correct EFI_BLOCK_IO_PROTOCOL_REVISION3 value >> >> From: Michael Kubacki >> >> REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2961 >> >> The value of EFI_BLOCK_IO_PROTOCOL_REVISION3 is currently >> 0x00020031. However, the value assigned in the UEFI Specification >> 2.8B is ((2<<16) | (31)) which is 0x0002001F. >> >> Cc: Michael D Kinney >> Cc: Liming Gao >> Cc: Zhiguang Liu >> Signed-off-by: Michael Kubacki >> --- >> MdePkg/Include/Protocol/BlockIo.h | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/MdePkg/Include/Protocol/BlockIo.h b/MdePkg/Include/Protocol/BlockIo.h >> index 7b332691ede3..3bd76885e11c 100644 >> --- a/MdePkg/Include/Protocol/BlockIo.h >> +++ b/MdePkg/Include/Protocol/BlockIo.h >> @@ -201,7 +201,7 @@ typedef struct { >> >> #define EFI_BLOCK_IO_PROTOCOL_REVISION 0x00010000 >> #define EFI_BLOCK_IO_PROTOCOL_REVISION2 0x00020001 >> -#define EFI_BLOCK_IO_PROTOCOL_REVISION3 0x00020031 >> +#define EFI_BLOCK_IO_PROTOCOL_REVISION3 0x0002001F >> >> /// >> /// Revision defined in EFI1.1. >> -- >> 2.28.0.windows.1 >> >> >> > > > > > >