All of lore.kernel.org
 help / color / mirror / Atom feed
From: Niels de Vos <devos@fedoraproject.org>
To: qemu-devel@nongnu.org
Cc: Niels de Vos <devos@fedoraproject.org>
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	[thread overview]
Message-ID: <1296230042-26336-1-git-send-email-devos@fedoraproject.org> (raw)

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	other threads:[~2011-01-28 15:54 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-28 15:54 Niels de Vos [this message]
2011-01-28 15:54 ` [Qemu-devel] [PATCH 1/1] Use "pci.0" as bus->name for PCI-busses like qemu-kvm does already Niels de Vos
2011-01-29 21:44   ` Blue Swirl
2011-01-30 17:40     ` Niels de Vos
2011-01-28 16:12 ` [Qemu-devel] [PATCH 0/1] qemu-system-$ARCH incompatible with qemu-kvm and bus=pci.0 parameter Daniel P. Berrange
2011-01-30 17:42   ` Niels de Vos

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1296230042-26336-1-git-send-email-devos@fedoraproject.org \
    --to=devos@fedoraproject.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.