Hello, I can also confirm that if you have a series of NVMe devices, at first when just the OVMF boot menu has loaded, using qemu with a -monitor and typing 'info pci', it appears that all are given valid bus addresses.
However, once the Windows 10 x64 installer iso loads, it seems that every other NVMe device stays initialized correctly, but the ones in- between switch to a 0xfffff... bus address. So, for example, with 6 devices, numbers 1,3,5 will get initialized and recognized by the Windows installer, and 2,4,6 will not. Not sure if this clue helps identify this a qemu or Windows issue or not, but I thought it was worth noting. Also, I found that an alternative way to getting two or more NVMe devices successfully recognized by Windows is to use multiple root PCIe devices like so: qemu-system-x86_64 \ -enable-kvm \ -machine pc-q35-2.11,accel=kvm \ -nodefaults \ ... -device pcie-root-port,id=pcie_r0,bus=pcie.0,chassis=0,slot=0 \ -device nvme,drive=disk0,serial=serial0,bus=pcie_r0 \ -drive id=disk0,if=none,media=disk,cache=none,aio=native,format=raw,discard=unmap,file=/opt/os.raw \ -device pcie-root-port,id=pcie_r1,bus=pcie.0,chassis=0,slot=1 \ -device nvme,drive=disk1,serial=serial1,bus=pcie_r1 \ -drive id=disk1,if=none,media=disk,cache=none,aio=native,format=raw,discard=unmap,file=/opt/data.raw \ -- You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/1576347 Title: Only one NVMe device is usable in Windows (10) guest Status in QEMU: New Bug description: Full command: qemu-system-x86_64 -enable-kvm -cpu host -smp cores=4 -m 4G -net bridge -net nic -full-screen -drive file=ovmf_x64.bin,format=raw,if=pflash -drive file=disks/win16_ide.img,format=raw,cache=none,aio=native -drive file=disks/one.img,if=none,format=qcow2,id=one -drive file=disks/two.img,if=none,format=qcow2,id=two -device nvme,drive=one,serial=E86C3CFC43518D6F -device nvme,drive=two,serial=2BDAC262CF831698 QEMU version: 2.5.0 Kernel: 4.5.1 (Arch Linux) When there are two NVMe devices specified, only the second one will be usable in Windows. The following error is shown under "Device status" of the failed NVMe controller in Device Manager: "This device cannot start. (Code 10) The I/O device is configured incorrectly or the configuration parameters to the driver are incorrect." The only thing seems suspicious to me is that the nvme emulation in qemu does not have WWN/EUI-64 set for the devices, though I have no idea at all whether that is mandatory: "C:\Windows\system32>sg_vpd -i PD1 Device Identification VPD page: Addressed logical unit: designator type: SCSI name string, code set: UTF-8 SCSI name string: 8086QEMU NVMe Ctrl 00012BDAC262CF831698 C:\Windows\system32>sg_vpd -p sn PD1 Unit serial number VPD page: Unit serial number: 0000_0000_0000_0000." To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/1576347/+subscriptions
