I also prefer to document it in UEFI spec personally. And we are also having more discussion about it internally, nice to share more after that. :)
Thanks, Star -----Original Message----- From: Laszlo Ersek [mailto:ler...@redhat.com] Sent: Tuesday, June 27, 2017 9:23 PM To: Zeng, Star <star.z...@intel.com>; Amit Kumar <amit...@samsung.com>; edk2-devel@lists.01.org Cc: Kinney, Michael D <michael.d.kin...@intel.com>; Tian, Feng <feng.t...@intel.com>; Gabriel L. Somlo (GMail) <gso...@gmail.com>; Gao, Liming <liming....@intel.com>; Fan, Jeff <jeff....@intel.com> Subject: Re: [edk2] [PATCH V4] MdeModulePkg/DxeCore: Fixed Interface returned by CoreOpenProtocol On 06/27/17 13:15, Laszlo Ersek wrote: > On 06/27/17 11:59, Zeng, Star wrote: >> Laszlo, >> >> I got the point and I like the idea of wrapper function personally. >> Although we can clean up the UEFI drivers in EDK2 tree, but it is really >> hard to evaluate the UEFI drivers in OPROM on add-on card. >> The patch did not just break OVMF, but also broke all real platforms we have >> in hand (it's my fault that I did not catch the failure when reviewing >> patch), the patch is so risky. > > Can we perhaps add a FeaturePCD (default value: FALSE) and rework > Amit's patch to consider the PCD? I really like the idea of being true > to the UEFI spec. > > In the edk2 tree we could rebase the affected drivers to the wrapper > function. And in OVMF (and in other in-tree emulation platforms), we > could set the FeaturePCD to TRUE. > > It is possible to use OVMF with assigned physical PCI devices, but > people can easily rebuild OVMF themselves, with the FeaturePCD re-set > to FALSE. Users can also quickly report the exact cards / oproms that > break with the FeaturePCD set to TRUE. > > > If you think it's simply not worth the effort, I'm OK with that, but > then we should specify this behavior in the UEFI spec -- we'll need a > Mantis bug for that. IMO it's not great that so many UEFI_DRIVERs in > the wild depend on behavior that is expressly forbidden by the UEFI > spec at the moment. If we can't modify all those drivers, then we > should adapt the spec, so that it reflects reality. > > I'm not going to suggest specific language for the UEFI spec right now. > But the wording could be based on the documentation of the wrapper > function that I'm working on now. I think I might post the patches > just for illustration. OK, I'm giving up. It is too hard to track down every single crash -- the register dump written by UefiCpuPkg's exception handler to the serial port is not much help, even though it names a module to look at. So I guess we have to accept that the dependency on EFI_ALREADY_STARTED setting Interface is just too wide-spread. :/ As I wrote above, I think this should be documented in the UEFI spec. I filed the following mantis ticket: Permit OpenProtocol() to output the supported protocol interface even on error https://mantis.uefi.org/mantis/view.php?id=1815 Thanks Laszlo _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel