virtio-net multiqueue added a new field to the config layout. The config layout is rounded up to the nearest power of 2 and this field caused field causes the size to go from 8 bytes to 16 bytes.
For reasons unknown, the increase in config size causes the Windows virtio-net driver to fail. This is probably a bug in the driver but it exposes a larger bug in QEMU. While we disable features for compatibility machines, we always use the latest config size. This presents a slightly different machine model than what we should be exposing. This series fixes this specific problem such that -M pc-1.3 should work again with the Windows drivers. -M pc will still fail. We need to find a better way to do this but in absence of a nicer approach this seems likes a good compromise for 1.4. I think we need to choose something like the MAX() config size required by all of the enabled host features. Besides -M pc-1.3, another work around would be: -global virtio-net-pci.mq=off This should work after this patch series is applied. We can put this work around in the release notes as suggested for users of the virtio-win drivers until they are fixed. Reported-by: Michael Tokarev <m...@tls.msk.ru> FYI: only lightly tested on my end but so far, it seems to work.