Cross posting this same update from both the GitHub thread for the virtio drives (https://github.com/virtio-win/kvm-guest-drivers-windows/issues/750#issuecomment-1814759725) and the GitLab thread for the qemu project (https://gitlab.com/qemu-project/qemu/-/issues/774)
We just ran into this in our KVM/QEMU based platform with a qemu 6.2 based platform. Everything was a-ok running qemu 4.2 prior, but as soon as the upgrade to 6.2 happened, we started hitting this problem on german windows as all these threads describe.
Looking through the git history on qemu `hw/i386/acpi-build.c` there isn't a crazy amount of churn between 6.2 and 7.2, so we can narrow the windows pretty quickly.
- <6.2 upstream cutoff> 211afe5c69 hw/i386/acpi-build: Deny control on PCIe Native Hot-plug in _OSC
- 2914fc61d5 pci: Export pci_for_each_device_under_bus*()
- 36efa250a4 hw/i386/pc: Allow instantiating a virtio-iommu device
- 867e9c9f4c hw/i386/pc: Remove x86_iommu_get_type()
Based on what the GitLab thread here says for git bisect windows: https://gitlab.com/qemu-project/qemu/-/issues/774#note_1178918198
DEPENDENCY 1
hw/i386/acpi-build: Avoid 'sun' identifier - https://github.com/qemu/qemu/commit/9c2d83f5a0ef558f8882998af6cb800101243655
DEPENDENCY 2
acpi: x86: refactor PDSM method to reduce nesting - https://github.com/qemu/qemu/commit/a12cf6923ce121633d877cf3ec53b2bcc85763ca
FIXES THE ISSUE
x86: acpi: _DSM: use Package to pass parameters - https://github.com/qemu/qemu/commit/467d099a2985c1e1bd41b234529d7f2262fd2e27
We tested this out on both pc and q35 VM's with these patches applied, and the issue was immediately fixed
Now, there is some talk in these threads about 8.1 not working again.
I haven't tested this, but if I had to take a wild guess, I'd guess that this commit breaks it again
x86: acpi: workaround Windows not handling name references in Package properly - https://github.com/qemu/qemu/commit/44d975ef340e2f21f236f9520c53e1b30d2213a4
We just ran into this in our KVM/QEMU based platform with a qemu 6.2 based platform. Everything was a-ok running qemu 4.2 prior, but as soon as the upgrade to 6.2 happened, we started hitting this problem on german windows as all these threads describe.
Looking through the git history on qemu `hw/i386/acpi-build.c` there isn't a crazy amount of churn between 6.2 and 7.2, so we can narrow the windows pretty quickly.
- <6.2 upstream cutoff> 211afe5c69 hw/i386/acpi-build: Deny control on PCIe Native Hot-plug in _OSC
- 2914fc61d5 pci: Export pci_for_each_device_under_bus*()
- 36efa250a4 hw/i386/pc: Allow instantiating a virtio-iommu device
- 867e9c9f4c hw/i386/pc: Remove x86_iommu_get_type()
Based on what the GitLab thread here says for git bisect windows: https://gitlab.com/qemu-project/qemu/-/issues/774#note_1178918198
DEPENDENCY 1
hw/i386/acpi-build: Avoid 'sun' identifier - https://github.com/qemu/qemu/commit/9c2d83f5a0ef558f8882998af6cb800101243655
DEPENDENCY 2
acpi: x86: refactor PDSM method to reduce nesting - https://github.com/qemu/qemu/commit/a12cf6923ce121633d877cf3ec53b2bcc85763ca
FIXES THE ISSUE
x86: acpi: _DSM: use Package to pass parameters - https://github.com/qemu/qemu/commit/467d099a2985c1e1bd41b234529d7f2262fd2e27
We tested this out on both pc and q35 VM's with these patches applied, and the issue was immediately fixed
Now, there is some talk in these threads about 8.1 not working again.
I haven't tested this, but if I had to take a wild guess, I'd guess that this commit breaks it again
x86: acpi: workaround Windows not handling name references in Package properly - https://github.com/qemu/qemu/commit/44d975ef340e2f21f236f9520c53e1b30d2213a4