Hi,
You could use the config capability if you wanted to, though that multiplies the cost of each access by a factor of ~4.
We are moving to 32bit drivers _anyway_, some of our drivers run in 32bit mode already, and with SMM mode landing in kvm now we have a reliable way to transition to 32bit mode and back, even in corner cases like guest calling bios from vm86 mode.
So, I don't feel like using the config capability. Might be useful for virtio-net driver in ipxe though, didn't look there yet.
I noticed that QEMU doesn't support it but it must, I'll fix it up now.
I've also noticed we are back to 8M pci bars for modern/transitional virtio devices, due to supporting up to 1024 virt queues now I think.
Should we introduce a per-device virt queue limit? Supporting 1024 queues makes sense for virtio-scsi, virtio-net and maybe virtio-serial. Other devices will never ever come even close to 1024 virt queues ...
cheers, Gerd