Pawel Moll <> writes:
> On Wed, 2013-07-31 at 14:25 +0100, Anthony Liguori wrote:
>> I'm not sure where this discussion took place, but there is nothing in
>> QEMU that requires a dummy device to be used.
>
> http://thread.gmane.org/gmane.linux.kernel.virtualization/20144
N.B. If you aren't discussing something on qemu-devel, then you aren't
getting the full input of the community.
>> The analogy would be a PCI slot that doesn't have a device plugged into
>> it. Per the PCI spec, if a device is absent, any reads to the slot
>> will return a well defined value (all ones). Those values are invalid
>> for things like a device id.
>
> It is very unsafe to "probe" memory mapped peripherals.
It simply depends on the devices. Prior to PnP, probing was common
practice on the PC. Yes, sometimes badness ensued.
>> I really dislike the design of virtio-mmio. I don't understand why it
>> limits itself to a single device.
>
> It is modelled after simple memory mapped peripherals, so it is simple
> itself. And if I was doing it today from scratch again, I would still
> focus on doing one thing only. After all there are discoverable buses
> out there, I don't see any reason to try to invent my own discovery
> mechanism.
Right, I've already argued with Peter that ya'll should simply use PCI
for mach-virt... We don't need to repeat that here though.
>> virtio-blk is a separate device that can be connected to the transport.
>
> As in: block device of zero size? This has also been suggested in the
> thread linked above.
That's irrelevant here.
>> And yes, there should be a way to specify "this transport is not
>> connected to anything".
>
> In a "virtio generic" way or mmio-specific one?
If we can do it in a backwards compatible fashion, I think it would be a
very good idea to reserve a device ID to indicate that there is not a
valid device connected to the transport.
> Maybe instead of
> defining zero as a do-nothing-device we should simply make this value
> reserved or illegal?
Yes, I think that's a good idea.
> This would make PCI situation clear (no device will
> be ever allowed to have it) and mmio driver could "overload" its meaning
> as "ignore".
Agreed.
Regards,
Anthony Liguori
>
> Paweł