On Wed, 18 Feb 2026 at 19:01, Peter Maydell <[email protected]> wrote:
>
> On Wed, 11 Feb 2026 at 12:28, Mohammadfaiz Bawa <[email protected]> wrote:
> >
> > Windows ARM64 guests detect virtio-mmio devices declared in ACPI
> > tables even when no backend is attached. This causes "Unknown
> > devices" (ACPI\LNRO0005) to appear in Device Manager.
> >
> > Until Windows fixes that by supporting, adding a new machine
> > property 'virtio-transports' to control the number of
> > virtio-mmio transports instantiated. The default remains
> > NUM_VIRTIO_TRANSPORTS (32) for backward compatibility.
> > Setting it to 0 allows users to disable virtio-mmio entirely.
> >
> > Usage: -machine virt,virtio-transports=0
> >
> > Signed-off-by: Mohammadfaiz Bawa <[email protected]>
>
> Applied to target-arm.next, thanks -- but please could you check
> up with the ACPI spec about whether it says anything about what
> to report for empty transports? If it says we should or if it's
> just vague we should probably match the x86 microvm behaviour
> of not showing empty transports, since they can never be
> hotplugged after startup. (This might need to be tied to
> a machine-version, not sure.) Maybe we should also not report
> them in the dtb?
Looking again at this patch, I had a couple of niggles, so
I've dropped this patch from target-arm.next for the moment.
(1) we need to document the new property in
docs/system/arm/virt.rst. Something like
--- a/docs/system/arm/virt.rst
+++ b/docs/system/arm/virt.rst
@@ -226,6 +226,11 @@ dtb-randomness
dtb-kaslr-seed
A deprecated synonym for dtb-randomness.
+virtio-transports
+ Set the number of virtio-mmio transports to create (between 0 and 32;
+ the default is 32). Unused transports are harmless, but you can
+ use this property to avoid exposing them to the guest if you wish.
+
x-oem-id
Set string (up to 6 bytes) to override the default value of field
OEMID in ACPI
table header.
would do.
(2) I think we should call the property virtio-mmio-transports,
to make it clearer to the user that this is MMIO-specific and
nothing to do with the much more commonly used PCI virtio.
What do you think?
thanks
-- PMM