What were you trying to do that didn't work?
QE was attempting to boot the Windows on ARM installer on various ARM-based machines using a QEMU command line. While this procedure works on some ARM machines, allowing the system to proceed to the installation interface, it fails on other specific ARM machines. On the failing machines, the boot process hangs indefinitely at the TianoCore splash screen.
Please provide the package NVR for which bug is seen:
- DISTRO=RHEL-10.2-20251028.0
- CPU=eMAG CPU @ 3.0GHz
- kernel-6.12.0-146.el10.aarch64
- edk2-ovmf-20250822-1.el10.noarch
- swtpm-0.9.0-5.el10.aarch64
- qemu-kvm-core-10.1.0-5.el10.aarch64
How reproducible:
100%
Steps to reproduce
1. On an affected ARM machine, prepare a Windows on ARM installation image.
2. Execute the QEMU command line used for booting
3. Observe the guest VM's VNC output.
Expected results
The guest VM should boot past the TianoCore logo splash screen and successfully load the Windows installation setup interface.
Actual results
The guest VM hangs indefinitely at the TianoCore logo splash screen and fails to proceed to the Windows installer.
Info: QEMU cmdline
# cat /home/wji/ws2025.sh
/usr/libexec/qemu-kvm \
-name guest=win2025,debug-threads=on \
-blockdev '{"node-name": "file_aavmf_code", "driver": "file", "filename": "/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.raw", "auto-read-only": true, "discard": "unmap"}' \
-blockdev '{"node-name": "drive_aavmf_code", "driver": "raw", "read-only": true, "file": "file_aavmf_code"}' \
-blockdev '{"node-name": "file_aavmf_vars", "driver": "file", "filename": "/root/avocado/data/avocado-vt/avocado-vt-vm1_rhel101-aarch64-4k-virtio-scsi_qcow2_filesystem_VARS.qcow2", "auto-read-only": true, "discard": "unmap"}' \
-blockdev '{"node-name": "drive_aavmf_vars", "driver": "raw", "read-only": false, "file": "file_aavmf_vars"}' \
-m 25600 \
-smp 8 \
-cpu 'host' \
-machine virt,gic-version=host,pflash0=drive_aavmf_code,pflash1=drive_aavmf_vars,memory-backend=mem-machine_mem \
-object '{"size": 26843545600, "mem-path": "/dev/shm", "share": true, "id": "mem-machine_mem","qom-type": "memory-backend-file"}' \
-nodefaults -vnc 0.0.0.0:14 -monitor stdio -enable-kvm \
-device ramfb \
-device '{"driver":"qemu-xhci","p2":15,"p3":15,"id":"usb"}' \
-device '{"driver":"usb-tablet","id":"input0","bus":"usb.0","port":"1"}' \
-device '{"driver":"usb-kbd","id":"input1","bus":"usb.0","port":"2"}' \
-device '{"driver":"usb-mouse","id":"input2","bus":"usb.0","port":"3"}' \
-drive file=/home/kvm_autotest_root/iso/ISO/Win11/en-us_windows_11_business_editions_version_25h2_arm64_dvd_8afc9b39.iso,media=cdrom,if=none,id=drivers -device '{"driver":"usb-storage","drive":"drivers"}' \
-drive file=/home/kvm_autotest_root/iso/windows/virtio-win-attestation-0.1-292.iso,media=cdrom,if=none,id=drivers_win \
-device '{"driver":"usb-storage","drive":"drivers_win"}' \
-device '{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","multifunction":true,"addr":"0x2"}' \
-device '{"driver":"pcie-root-port","port":9,"chassis":2,"id":"pci.2","bus":"pcie.0","addr":"0x2.0x1"}' \
-device '{"driver":"pcie-root-port","port":10,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x2.0x2"}' \
-device '{"driver":"pcie-root-port","port":11,"chassis":4,"id":"pci.4","bus":"pcie.0","addr":"0x2.0x3"}' \
-device '{"driver":"pcie-root-port","port":12,"chassis":5,"id":"pci.5","bus":"pcie.0","addr":"0x2.0x4"}' \
-blockdev '{"driver":"file","filename":"/home/win2025_01.qcow2","node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-2-format","read-only":false,"discard":"unmap","driver":"qcow2","file":"libvirt-2-storage","backing":null}' \
-device '{"driver":"virtio-scsi-pci","bus":"pci.3","addr":"0x0"}' \
-device '{"driver": "scsi-hd", "id": "image1", "drive": "libvirt-2-format", "write-cache": "on"}' \
-netdev '{"type":"tap","id":"hostnet0"}' \
-device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:dc:d6:7d","bus":"pci.4","addr":"0x0"}' \
-device '{"driver":"virtio-gpu-pci","id":"video0","max_outputs":1,"bus":"pci.5","addr":"0x0"}' \
-chardev socket,id=chrtpm,path=/tmp/guest-swtpm14.sock \
-tpmdev emulator,id=tpm-tpm0,chardev=chrtpm \
-device '{"driver":"tpm-tis-device","tpmdev":"tpm-tpm0","id":"tpm0"}'