qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH 0/1] qemu-system-$ARCH incompatible with qemu-kvm an


From: Niels de Vos
Subject: [Qemu-devel] [PATCH 0/1] qemu-system-$ARCH incompatible with qemu-kvm and bus=pci.0 parameter
Date: Fri, 28 Jan 2011 15:54:01 +0000

Hi there,

obviously qemu-system-$ARCH, qemu-kvm and libvirt disagree about the most
suitable name for the PCI-bus. qemu-kvm and libvirt work nicely together by
using "pci.0" as name. Unfortunately libvirt seems to assume that also for
qemu-system-$ARCH the name "pci.0" should be passed on the command line.
When doing so, errors like "Bus 'pci.0' not found" get logged and qemu
aborts.

This seems to be a very common case, googling for this seems to reveal that
loads of users have similar experiences. A common workaround seems to be to
write a little loader script that replaces parameters passed on to
qemu-system-$ARCH by valid ones (here: s/bus=pci.0/bus=pci/).

As a user, I would really like to be able to start any type of emulated
machine, without needing to know the internal hardware layout. Passing
bus=pci seems sane to me, but unfortunately qemu-kvm does not accept this.
(At least on my standard configuration.) I guess that qemu-kvm is behaving
as intended, and qemu-system-$ARCH missed a hardware upgrade.

In order to make libvirt, qemu-kvm and qemu-system-$ARCH work together, I
have changed the default name "pci" for emulated machines by "pci.0". The
tests I have done so far are succesful.

However changing the name is only one possible solution, and there is a
major drawback... Any old scripts that pass bus=pci on the command line,
will not work anymore and result in a "Bus 'pci' not found" error.
Therefor I do not know if this is the correct route to succes.

An alternative solution would be to match any bus-names from the command
line appended with ".0" to their non-numbered equivalent.

I'm looking for thoughts and guidance on this issue. It can well be that
qemu is not the right place to fix this, and I should look into libvirt
instead.

Many thanks,
Niels

--
Niels de Vos (1):
  Use "pci.0" as bus->name for PCI-busses like qemu-kvm does already

 hw/apb_pci.c       |    2 +-
 hw/bonito.c        |    2 +-
 hw/grackle_pci.c   |    2 +-
 hw/gt64xxx.c       |    2 +-
 hw/ppc4xx_pci.c    |    2 +-
 hw/ppce500_pci.c   |    2 +-
 hw/prep_pci.c      |    2 +-
 hw/sh_pci.c        |    2 +-
 hw/unin_pci.c      |    4 ++--
 hw/versatile_pci.c |    2 +-
 10 files changed, 11 insertions(+), 11 deletions(-)

-- 
1.7.3.5




reply via email to

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