On 09/20/13 17:42, Paolo Bonzini wrote: > Il 19/09/2013 22:30, Laszlo Ersek ha scritto: >> In a nutshell, VirtioPciSetDeviceStatus() breaks the interface contract >> of VIRTIO_DEVICE_PROTOCOL.WriteDevice(). The former targets a common >> virtio field, but the latter provides access to device-specific fields. >> Consequently, the virtio device is never brought up, and the guest code >> in VirtioFlush() waits for the hypervisor's reply in vain. >> >> I don't yet know enough about the series to suggest a fix (or to fix it >> myself just so I can continue the testing and the review). I'd like to >> get good test results before reviewing in more detail. > > Maybe VirtioPciSetDeviceStatus and the other accesses to the common > virtio fields should use PciIo directly?
Yes. Or maybe continue using the current PciIo wrapper, but expose the offset base as a parameter (or extract a common helper function etc.) Thanks, Laszlo ------------------------------------------------------------------------------ LIMITED TIME SALE - Full Year of Microsoft Training For Just $49.99! 1,500+ hours of tutorials including VisualStudio 2012, Windows 8, SharePoint 2013, SQL 2012, MVC 4, more. BEST VALUE: New Multi-Library Power Pack includes Mobile, Cloud, Java, and UX Design. Lowest price ever! Ends 9/20/13. http://pubads.g.doubleclick.net/gampad/clk?id=58041151&iu=/4140/ostg.clktrk _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel