On Mon, 2015-01-19 at 18:36 +0000, Michael S. Tsirkin wrote: > > > > Well, not quite: as of now I've got legacy block device driver happily > > > > working on top of compliant (so v2 in MMIO speech) MMIO device - the > > > > transport if completely transparent here. > > > > > > Spec says explicitly it's an illegal configuration. > > > > What part of the spec exactly? The closest I can think of are 2.2.3, 6.2 > > and 6.3. Both legacy and spec-complaint MMIO transports will satisfy all > > requirements from those paragraphs, whether VIRTIO_F_VERSION_1 is > > negotiated or not. > > The parts that say VIRTIO_F_VERSION_1 MUST be set. > I'll look up the chapter and verse later if you like. That would be: "6.1 Driver Requirements: Reserved Feature Bits A driver MUST accept VIRTIO_F_VERSION_1 if it is offered. A driver MAY fail to operate further if VIRTIO_F_VERSION_1 is not offered." "6.2 Device Requirements: Reserved Feature Bits A device MUST offer VIRTIO_F_VERSION_1. A device MAY fail to operate further if VIRTIO_F_VERSION_1 is not accepted." Both are perfectly clear and reasonable for me. And the MMIO transport in both versions (pre-spec and the spec one) will meet those requirements, as it was able to pass more than 32 features bits from the very beginning. > Can you please also add a comment? > E.g. > /* > * MMIO uses ID 0 to mean device not present. Avoid probing > * the device further: it's sure to fail anyway. > */ There is a comment: > On Fri, 2014-12-19 at 18:38 +0000, Pawel Moll wrote: > > + /* > > + * ID 0 means a dummy (placeholder) device, skip quietly > > + * (as in: no error) with no further actions > > + */ > But I'm can use your wording if you find it better. Pawel _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization