On Thu, Jun 29, 2023 at 03:44:04PM -0700, Stefano Stabellini wrote:
On Thu, 29 Jun 2023, Oleksandr Tyshchenko wrote:
On 29.06.23 04:00, Stefano Stabellini wrote:
I think we need to add a second way? It could be anything that can help
us distinguish between a non-grants-capable virtio backend and a
grants-capable virtio backend, such as:
- a string on xenstore
- a xen param
- a special PCI configuration register value
- something in the ACPI tables
- the QEMU machine type
Yes, I remember there was a discussion regarding that. The point is to
choose a solution to be functional for both PV and HVM *and* to be able
to support a hotplug. IIRC, the xenstore could be a possible candidate.
xenstore would be among the easiest to make work. The only downside is
the dependency on xenstore which otherwise virtio+grants doesn't have.
I would avoid introducing a dependency on xenstore, if nothing else we
know it's a performance bottleneck.
We would also need to map the virtio device topology into xenstore, so
that we can pass different options for each device.
Vikram is working on virtio with grants support in QEMU as we speak.
Maybe we could find a way to add a flag in QEMU so that we can detect at
runtime if a given virtio device support grants or not.
Isn't there a way for the device to expose capabilities already? For
example how does a virtio-blk backend expose support for indirect
descriptors?
Attachment:
OpenPGP_0xB0DE9DD628BF132F.asc
Description: OpenPGP public key
Attachment:
OpenPGP_signature
Description: OpenPGP digital signature