qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [Bug 1576347] Re: Only one NVMe device is usable in Windows


From: Marshall Porter
Subject: [Qemu-devel] [Bug 1576347] Re: Only one NVMe device is usable in Windows (10) guest
Date: Thu, 01 Feb 2018 08:53:13 -0000

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]