public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Michael Kubacki" <michael.kubacki@outlook.com>
To: "Ni, Ray" <ray.ni@intel.com>,
	"devel@edk2.groups.io" <devel@edk2.groups.io>
Cc: "Kinney, Michael D" <michael.d.kinney@intel.com>,
	Liming Gao <gaoliming@byosoft.com.cn>,
	"Liu, Zhiguang" <zhiguang.liu@intel.com>
Subject: Re: [edk2-devel] [PATCH v1 1/1] MdePkg: Correct EFI_BLOCK_IO_PROTOCOL_REVISION3 value
Date: Fri, 18 Sep 2020 17:26:19 -0700	[thread overview]
Message-ID: <MWHPR07MB34405AE7DEEBB083EE4B3208E93C0@MWHPR07MB3440.namprd07.prod.outlook.com> (raw)
In-Reply-To: <BY5PR11MB4007A92AF62AA92A6D16FD788C3F0@BY5PR11MB4007.namprd11.prod.outlook.com>

What do you propose as an alternative?

Can a new version of the tool be released with the correct value?

Thanks,
Michael

On 9/18/2020 4:53 PM, Ni, Ray wrote:
> As far as I know, EFI disk utility consumesthis new field for 
> performance. The utility is in Intel website for external downloads.
> 
> ------------------------------------------------------------------------
> *发件人:* devel@edk2.groups.io <devel@edk2.groups.io> 代表 Michael 
> Kubacki <michael.kubacki@outlook.com>
> *发送时间:* Saturday, September 19, 2020 2:54:54 AM
> *收件人:* devel@edk2.groups.io <devel@edk2.groups.io>; Ni, Ray 
> <ray.ni@intel.com>
> *抄送:* Kinney, Michael D <michael.d.kinney@intel.com>; Liming Gao 
> <gaoliming@byosoft.com.cn>; Liu, Zhiguang <zhiguang.liu@intel.com>
> *主题:* Re: [edk2-devel] [PATCH v1 1/1] MdePkg: Correct 
> EFI_BLOCK_IO_PROTOCOL_REVISION3 value
> 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 <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 <michael.d.kinney@intel.com>; Liming Gao <gaoliming@byosoft.com.cn>; Liu, Zhiguang
>>> <zhiguang.liu@intel.com>
>>> Subject: [edk2-devel] [PATCH v1 1/1] MdePkg: Correct EFI_BLOCK_IO_PROTOCOL_REVISION3 value
>>>
>>> From: Michael Kubacki <michael.kubacki@microsoft.com>
>>>
>>> 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 <michael.d.kinney@intel.com>
>>> Cc: Liming Gao <gaoliming@byosoft.com.cn>
>>> Cc: Zhiguang Liu <zhiguang.liu@intel.com>
>>> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
>>> ---
>>>   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
>>>
>>>
>>>
>> 
>> 
>> 
>> 
>> 
>> 
> 
> 
> 
> 
> 

  reply	other threads:[~2020-09-19  0:26 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-14 18:11 [PATCH v1 1/1] MdePkg: Correct EFI_BLOCK_IO_PROTOCOL_REVISION3 value Michael Kubacki
2020-09-15  0:54 ` 回复: [edk2-devel] " gaoliming
2020-09-17 16:49   ` Michael Kubacki
2020-09-18  1:08     ` 回复: " gaoliming
2020-09-15  3:27 ` Zhiguang Liu
2020-09-18  1:25 ` [edk2-devel] " Ni, Ray
2020-09-18 18:54   ` Michael Kubacki
2020-09-18 23:53     ` Ni, Ray
2020-09-19  0:26       ` Michael Kubacki [this message]
2020-09-21  2:28         ` Ni, Ray
2020-09-21 20:00           ` Michael Kubacki
2020-09-22  1:22             ` 回复: " gaoliming
2020-09-22 21:34               ` Michael D Kinney

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=MWHPR07MB34405AE7DEEBB083EE4B3208E93C0@MWHPR07MB3440.namprd07.prod.outlook.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox