From: Eric Blake <eblake@redhat.com>
To: Alexey Kardashevskiy <aik@ozlabs.ru>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
"qemu-ppc@nongnu.org" <qemu-ppc@nongnu.org>
Cc: "libvir-list@redhat.com" <libvir-list@redhat.com>,
Paul Mackerras <paulus@samba.org>, Alex Graf <agraf@suse.de>,
Nikunj A Dadhania <nikunj@linux.vnet.ibm.com>,
Avik Sil <aviksil@linux.vnet.ibm.com>
Subject: Re: [Qemu-devel] -vga std vs. -device VGA
Date: Thu, 14 Nov 2013 06:11:23 -0700 [thread overview]
Message-ID: <5284CBFB.4070200@redhat.com> (raw)
In-Reply-To: <52845915.4030201@ozlabs.ru>
[-- Attachment #1: Type: text/plain, Size: 2370 bytes --]
[adding libvirt]
On 11/13/2013 10:01 PM, Alexey Kardashevskiy wrote:
> Hi everyone.
>
> Here is a problem with the SPAPR machine and a libvirt's habit to use
> "-nodefaults".
>
> When we run QEMU with "-vga std", a VGA device is created from the
> machine_init callback and if VGA is added, then we automatically add a PCI
> USB OHCI adapter with a keyboard and everybody (SLOF, yaboot, guest kernel)
> is happy - there are both input and output devices.
>
> However libvirt uses "-device VGA" to create a VGA device. In this case the
> actual VGA device is created in vl.c and we (SPAPR) do not have control
> over this process so we do not automatically create anything in addition to
> VGA. As a result, yaboot fails as there is no input device.
>
> x86 creates a whole bunch of various devices including a keyboard
> controller (i8042) even with "-nodefaults" but this is not true for SPAPR.
Then libvirt needs to be taught to provide the same devices via -device
that would be present during -vga.
>
> Since we (POWERPC folks) want everything to work as close to x86 as
> possible, we need to do something about it :)
Hmm, but adding automatic devices in a future qemu release compared to
what you do now could be a regression - once libvirt is taught how to
provide the correct devices for the qemu that exists now, wouldn't that
mean that your automatic device adding creates duplicates?
Libvirt uses -nodefaults for a reason - we really don't like automatic
devices (especially when the set of WHAT is automatic is prone to change
between qemu builds), and would much rather call out everything
explicitly so that we can guarantee guest ABI stability across qemu
upgrades.
>
> So the question is - is there any proper (i. e. qemu-upstreamable) way to
> detect a VGA device presence and create additional devices (OHCI, keyboard,
> mouse) as "-vga" does it now? The machine reset callback is too late for that.
>
> Or we should just print an error (in QEMU or SLOF) and do nothing and let
> the user configure all required devices in libvirt?
I'm in favor of printing an error if not enough devices were supplied,
and fixing libvirt to supply the correct devices when it doesn't use -vga.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 621 bytes --]
next prev parent reply other threads:[~2013-11-14 13:11 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-14 5:01 [Qemu-devel] -vga std vs. -device VGA Alexey Kardashevskiy
2013-11-14 6:01 ` Benjamin Herrenschmidt
2013-11-14 9:37 ` Alexey Kardashevskiy
2013-11-14 13:04 ` Alexander Graf
2013-11-14 20:28 ` Benjamin Herrenschmidt
2013-11-14 20:49 ` Peter Maydell
2013-11-14 22:23 ` Alexander Graf
2013-11-14 22:32 ` Benjamin Herrenschmidt
2013-11-14 22:41 ` Alexander Graf
2013-11-14 22:45 ` Anthony Liguori
2013-11-15 12:04 ` Paolo Bonzini
2013-11-15 16:43 ` Alexey Kardashevskiy
2013-11-14 22:46 ` Anthony Liguori
2013-11-14 23:03 ` Peter Maydell
2013-11-14 23:31 ` Benjamin Herrenschmidt
2013-11-15 1:25 ` Alexey Kardashevskiy
2013-11-15 4:28 ` Alexander Graf
2013-11-15 9:23 ` Markus Armbruster
2013-11-14 13:11 ` Eric Blake [this message]
2013-11-15 12:08 ` Paolo Bonzini
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=5284CBFB.4070200@redhat.com \
--to=eblake@redhat.com \
--cc=agraf@suse.de \
--cc=aik@ozlabs.ru \
--cc=aviksil@linux.vnet.ibm.com \
--cc=libvir-list@redhat.com \
--cc=nikunj@linux.vnet.ibm.com \
--cc=paulus@samba.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).