Skip to contentSkip to conversation

-pcidevice broken - fix or remove it?

DISCUSSION Jan Kiszka 4 participants 4 messages Oct 31, 2010 – Nov 2, 2010 KVM

lore
Share & tools
lore

Jan Kiszka

author
#0 lore raw

Hi,

looks like the documented way to configure device assignment at qemu-kvm level is broken in 0.13 and git head:

  # qemu-system-x86_64 -pcidevice host=0:1a.0
  qemu-system-x86_64: Parameter 'id' expects an identifier
  Identifiers consist of letters, digits, '-', '.', '_', starting with a letter.
  pcidevice argument parse error; please check the help text for usage

"-device pci-assign" works, but only if specify "iommu=0" (otherwise: No IOMMU found. Unable to assign device "(null)").

Fix that legacy qemu-kvm switch or remove it at this chance? No one seems to have complained yet.

Jan

#1 lore raw
Quoted 10 lines · Jan Kiszka

Hi,

looks like the documented way to configure device assignment at qemu-kvm level is broken in 0.13 and git head:

  # qemu-system-x86_64 -pcidevice host=0:1a.0
  qemu-system-x86_64: Parameter 'id' expects an identifier
  Identifiers consist of letters, digits, '-', '.', '_', starting with a letter.
  pcidevice argument parse error; please check the help text for usage
Quoted 7 lines

"-device pci-assign" works, but only if specify "iommu=0" (otherwise: No IOMMU found. Unable to assign device "(null)").

Fix that legacy qemu-kvm switch or remove it at this chance? No one seems to have complained yet.

Jan

Broken since June. Xudong Hao (cc'ed) reported it then[1], and Hidetoshi Seto (also cc'ed) attempted to get it patched [2,3].

Removing -pcidevice would be fine with me. For what it's worth, it's not in upstream qemu.

[1] http://lists.nongnu.org/archive/html/qemu-devel/2010-06/msg02858.html
[2] http://lists.nongnu.org/archive/html/qemu-devel/2010-06/msg03073.html
[3] http://lists.nongnu.org/archive/html/qemu-devel/2010-06/msg02858.html

#2 lore raw
Quoted 18 lines · Markus Armbruster
Quoted 16 lines · Jan Kiszka

Hi,

looks like the documented way to configure device assignment at qemu-kvm level is broken in 0.13 and git head:

  # qemu-system-x86_64 -pcidevice host=0:1a.0
  qemu-system-x86_64: Parameter 'id' expects an identifier
  Identifiers consist of letters, digits, '-', '.', '_', starting with a letter.
  pcidevice argument parse error; please check the help text for usage

"-device pci-assign" works, but only if specify "iommu=0" (otherwise: No IOMMU found. Unable to assign device "(null)").

Fix that legacy qemu-kvm switch or remove it at this chance? No one seems to have complained yet.

Quoted 8 lines
Quoted 1 line

Jan

Broken since June. Xudong Hao (cc'ed) reported it then[1], and Hidetoshi Seto (also cc'ed) attempted to get it patched [2,3].

Removing -pcidevice would be fine with me. For what it's worth, it's not in upstream qemu.

Patch queued.

While at it, I wondered if we should kill "pci_add ... host" as well. But it looks like libvirt uses it - and should stumble over this breakage (it does not specify a device name). I can fix it by removing the silly auto-naming, or can libvirt live without it?

Jan

Signature · 2 lines
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux
#3 lore raw
Quoted 28 lines · Jan Kiszka
Quoted 18 lines · Markus Armbruster
Quoted 16 lines · Jan Kiszka

Hi,

looks like the documented way to configure device assignment at qemu-kvm level is broken in 0.13 and git head:

  # qemu-system-x86_64 -pcidevice host=0:1a.0
  qemu-system-x86_64: Parameter 'id' expects an identifier
  Identifiers consist of letters, digits, '-', '.', '_', starting with a letter.
  pcidevice argument parse error; please check the help text for usage

"-device pci-assign" works, but only if specify "iommu=0" (otherwise: No IOMMU found. Unable to assign device "(null)").

Fix that legacy qemu-kvm switch or remove it at this chance? No one seems to have complained yet.

Quoted 8 lines
Quoted 1 line

Jan

Broken since June. Xudong Hao (cc'ed) reported it then[1], and Hidetoshi Seto (also cc'ed) attempted to get it patched [2,3].

Removing -pcidevice would be fine with me. For what it's worth, it's not in upstream qemu.

Quoted 6 lines

Patch queued.

While at it, I wondered if we should kill "pci_add ... host" as well. But it looks like libvirt uses it - and should stumble over this breakage (it does not specify a device name). I can fix it by removing the silly auto-naming, or can libvirt live without it?

As of libvirt >= 0.8.1 & QEMU >= 0.12.x we use switched to using -device for everything. Older libvirt versions had rather broken checking for PCI device topology, so I think it is fine to require libvirt >= 0.8.1 for latest QEMU releases if users want PCI dev assignment. Thus -pcidevice and pci_add can both be killed from our POV.

Regards,
Daniel

Signature · 4 lines
|: Red Hat, Engineering, London    -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org -o- http://virt-manager.org -o- http://deltacloud.org :|
|: http://autobuild.org        -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-   F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|