From: David Gibson <david@gibson.dropbear.id.au>
To: Eduardo Habkost <ehabkost@redhat.com>
Cc: Thomas Huth <thuth@redhat.com>,
qemu-ppc@nongnu.org, Paolo Bonzini <pbonzini@redhat.com>,
Bharata B Rao <bharata@linux.vnet.ibm.com>,
qemu-devel@nongnu.org, Alexander Graf <agraf@suse.de>,
Markus Armbruster <armbru@redhat.com>
Subject: Re: [Qemu-devel] [PATCH 2/2] vl: Print CPU help after we've registered the CPU accelerators
Date: Mon, 6 Mar 2017 10:06:27 +1100 [thread overview]
Message-ID: <20170305230627.GA12030@umbus.fritz.box> (raw)
In-Reply-To: <20170303145807.GC11509@thinpad.lan.raisama.net>
[-- Attachment #1: Type: text/plain, Size: 3081 bytes --]
On Fri, Mar 03, 2017 at 11:58:07AM -0300, Eduardo Habkost wrote:
> On Tue, Jan 31, 2017 at 02:11:59PM +0100, Thomas Huth wrote:
> > When running with KVM on POWER, we register some CPU types during
> > the initialization function of the ppc64 KVM code (which unfortunately
> > also can not be done via a type_init() like it is done on x86).
>
> Can you elaborate why it can't be done via type_init()? If the
> QOM type hierarchy depends on any runtime data unavailable at
> type_init(), we should fix that.
Hmm.. how? This is specifically for the special 'host' cpu in the
case of KVM. We can't use a static configuration here, because there
are things on the host that could limit what features of the CPU are
available for guest use. So, we need KVM to be initialized in order
to query that information.
> > So to
> > be able to see these updates in the CPU help text, the code that calls
> > list_cpus() has to be run after configure_accelerator(). This move should
> > be fine since the "cpu_model" variable is also never used before the call
> > to configure_accelerator(), and thus there should not be any unwanted
> > side effects in the code before configure_accelerator() if the user
> > started QEMU with "-cpu ?" or "-cpu help".
> >
> > Signed-off-by: Thomas Huth <thuth@redhat.com>
>
> I am not convinced that the output of "-cpu help" and
> "-cpu help -machine accel=kvm" should look different. Do you have
> an example of what exactly is wrong with the output currently?
>
> I actually believe list_cpus() needs to be called _earlier_, not
> later. Otherwise we won't be able to fix this bug:
>
> $ qemu-system-arm -cpu help
> qemu-system-arm:/usr/local/etc/qemu/qemu.conf:1: No machine specified, and there is no default
> Use -machine help to list supported machines
> $
>
> > ---
> > vl.c | 10 +++++-----
> > 1 file changed, 5 insertions(+), 5 deletions(-)
> >
> > diff --git a/vl.c b/vl.c
> > index 0b72b12..315c5c3 100644
> > --- a/vl.c
> > +++ b/vl.c
> > @@ -4055,11 +4055,6 @@ int main(int argc, char **argv, char **envp)
> > qemu_set_hw_version(machine_class->hw_version);
> > }
> >
> > - if (cpu_model && is_help_option(cpu_model)) {
> > - list_cpus(stdout, &fprintf, cpu_model);
> > - exit(0);
> > - }
> > -
> > if (!trace_init_backends()) {
> > exit(1);
> > }
> > @@ -4298,6 +4293,11 @@ int main(int argc, char **argv, char **envp)
> >
> > configure_accelerator(current_machine);
> >
> > + if (cpu_model && is_help_option(cpu_model)) {
> > + list_cpus(stdout, &fprintf, cpu_model);
> > + exit(0);
> > + }
> > +
> > if (qtest_chrdev) {
> > qtest_init(qtest_chrdev, qtest_log, &error_fatal);
> > }
>
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
next prev parent reply other threads:[~2017-03-05 23:09 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-31 13:11 [Qemu-devel] [PATCH 0/2] ppc: Fix problems with duplicated CPU family types Thomas Huth
2017-01-31 13:11 ` [Qemu-devel] [PATCH 1/2] ppc/kvm: Handle the "family" CPU via alias instead of registering new types Thomas Huth
2017-02-01 0:10 ` David Gibson
2017-02-01 7:39 ` Thomas Huth
2017-02-01 22:27 ` David Gibson
2017-01-31 13:11 ` [Qemu-devel] [PATCH 2/2] vl: Print CPU help after we've registered the CPU accelerators Thomas Huth
2017-02-01 0:08 ` David Gibson
2017-02-02 1:11 ` Paolo Bonzini
2017-03-03 14:58 ` Eduardo Habkost
2017-03-05 23:06 ` David Gibson [this message]
2017-03-06 11:47 ` Eduardo Habkost
2017-03-07 3:31 ` David Gibson
2017-03-07 12:02 ` Eduardo Habkost
2017-03-08 2:33 ` David Gibson
2017-03-08 12:08 ` Eduardo Habkost
2017-03-09 1:29 ` David Gibson
2017-03-07 9:02 ` Thomas Huth
2017-03-07 12:07 ` Eduardo Habkost
2017-03-10 12:40 ` Andrea Bolognani
2017-03-08 14:31 ` Peter Maydell
2017-03-08 14:50 ` Eduardo Habkost
2017-03-08 15:50 ` Thomas Huth
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=20170305230627.GA12030@umbus.fritz.box \
--to=david@gibson.dropbear.id.au \
--cc=agraf@suse.de \
--cc=armbru@redhat.com \
--cc=bharata@linux.vnet.ibm.com \
--cc=ehabkost@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
--cc=thuth@redhat.com \
/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.