On 10/31/13 00:26, Jordan Justen wrote: >> Jordan, could you please explain the problem again? > > This protocol interface doesn't seem to follow the conventions of the > other io protocols. In addition, the alignment issue seems unresolved > to me. > > I just don't want any code outside of EDK II to pick this interface > up, and become dependent on it. > > Changing the width to be enum based, and omitting 64-bit accesses > seems to resolve my immediate concerns.
I think that changing the width to be enum based would eliminate a safety feature of the (device specific) VIRTIO_CFG_READ() macros -- we could no longer check if the size of the pointer target, and the size of the device-specific field, are equal. The driver writer would have to specify the field width (the enum) each time. I think that's more brittle than what we have now. But I'm willing to yield on this of course :) > I would also accept adding a disclaimer comment in the protocol file, such as: > "This protocol is a work in progress, and should not be used outside > of the EDK II tree." > Unfortunately, I think it would be all to easy to miss such a disclaimer. This is positively how I've approached the new protocol. In my eyes it's nothing to standardize or advertise or whatever. It's only a protocol because that's how we implement virtual functions (a structure of function pointers) in UEFI, while remaining compatible with the driver model (automatic discovery etc). That's all. The protocol serves our direct needs. We have two implementations, and three clients. I don't believe in early generalization. PciIo is an entirely different caliber. > ... Or, if anyone is feeling really peppy, what about trying to figure > out if the protocol makes sense at the UEFI spec level? Umm, thanks but no thanks :) Objectively: the virtio-spec is being revised (see Rusty's recent email to the list). I think if any virtio protocol should be standardized for / specified in UEFI, then it should happen only after the main OSes have ported their drivers to the revised virtio spec, and provided their feedback to the spec working group. I do think Olivier's virtio protocol is quite close to the 0.9.5 version of the spec, on the "logical operation" level. Thanks Laszlo ------------------------------------------------------------------------------ Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel