From: "Andreas Färber" <afaerber@suse.de>
To: Jens Freimann <jfrei@linux.vnet.ibm.com>
Cc: Heinz Graalfs <graalfs@linux.vnet.ibm.com>,
Alexander Graf <agraf@suse.de>,
qemu-devel <qemu-devel@nongnu.org>,
Christian Borntraeger <borntraeger@de.ibm.com>,
Cornelia Huck <cornelia.huck@de.ibm.com>,
Viktor Mihajlovski <mihajlov@linux.vnet.ibm.com>,
Einar Lueck <elelueck@linux.vnet.ibm.com>,
Richard Henderson <rth@twiddle.net>
Subject: Re: [Qemu-devel] [PATCH 3/3] S390: Enable -cpu help and QMP query-cpu-definitions
Date: Wed, 12 Dec 2012 14:51:41 +0100 [thread overview]
Message-ID: <50C88BED.6000000@suse.de> (raw)
In-Reply-To: <1355317734-55761-4-git-send-email-jfrei@linux.vnet.ibm.com>
Am 12.12.2012 14:08, schrieb Jens Freimann:
> From: Viktor Mihajlovski <mihajlov@linux.vnet.ibm.com>
>
> This enables qemu -cpu help to return a list of supported CPU models
> on s390 and also to query for cpu definitions in the monitor.
> Initially only cpu model = host is returned. This needs to be reworked
> into a full-fledged CPU model handling later on.
> This change is needed to allow libvirt exploiters (like OpenStack)
> to specify a CPU model.
>
> Signed-off-by: Viktor Mihajlovski <mihajlov@linux.vnet.ibm.com>
> Signed-off-by: Jens Freimann <jfrei@linux.vnet.ibm.com>
> Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
> ---
> hw/s390-virtio.c | 6 +++++-
> target-s390x/cpu.c | 21 +++++++++++++++++++++
> target-s390x/cpu.h | 3 +++
> 3 files changed, 29 insertions(+), 1 deletion(-)
>
> diff --git a/hw/s390-virtio.c b/hw/s390-virtio.c
> index 18050b1..5d4dd43 100644
> --- a/hw/s390-virtio.c
> +++ b/hw/s390-virtio.c
> @@ -2,6 +2,7 @@
> * QEMU S390 virtio target
> *
> * Copyright (c) 2009 Alexander Graf <agraf@suse.de>
> + * Copyright IBM Corp 2012
> *
> * This library is free software; you can redistribute it and/or
> * modify it under the terms of the GNU Lesser General Public
> @@ -13,7 +14,10 @@
> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> * Lesser General Public License for more details.
> *
> - * You should have received a copy of the GNU Lesser General Public
> + * Contributions after 2012-10-29 are licensed under the terms of the
> + * GNU GPL, version 2 or (at your option) any later version.
> + *
> + * You should have received a copy of the GNU (Lesser) General Public
> * License along with this library; if not, see <http://www.gnu.org/licenses/>.
> */
>
> diff --git a/target-s390x/cpu.c b/target-s390x/cpu.c
> index 75f60b3..4a8562b 100644
> --- a/target-s390x/cpu.c
> +++ b/target-s390x/cpu.c
> @@ -28,8 +28,29 @@
> #include "hw/hw.h"
> #include "qemu-common.h"
> #include "qemu-timer.h"
> +#include "arch_init.h"
>
>
> +/* generate CPU information for cpu -? */
> +void s390_cpu_list(FILE *f, fprintf_function cpu_fprintf)
> +{
> + (*cpu_fprintf)(f, "s390 %16s\n", "[host]");
Note that the square-bracket notation was specific to x86 when it
distinguished between built-in and config-based models.
> +}
> +
> +CpuDefinitionInfoList *arch_query_cpu_definitions(Error **errp)
> +{
> + CpuDefinitionInfoList *entry;
> + CpuDefinitionInfo *info;
> +
> + info = g_malloc0(sizeof(*info));
> + info->name = g_strdup("host");
> +
> + entry = g_malloc0(sizeof(*entry));
> + entry->value = info;
> +
> + return entry;
> +}
"host" only makes sense for KVM, not for TCG. So we would need one other
placeholder model for libvirt.
In cpu_s390x_init() a check should be added to reject "host" if
!kvm_enabled().
Background is that in the CPU subclasses world we would want to derive a
"host-s390-cpu" here and not let that be instantiated outside KVM. Then
we do need one always instantiatible model though.
Regards,
Andreas
> +
> /* CPUClass::reset() */
> static void s390_cpu_reset(CPUState *s)
> {
> diff --git a/target-s390x/cpu.h b/target-s390x/cpu.h
> index 0f9a1f7..3513976 100644
> --- a/target-s390x/cpu.h
> +++ b/target-s390x/cpu.h
> @@ -350,6 +350,9 @@ static inline void cpu_set_tls(CPUS390XState *env, target_ulong newtls)
> #define cpu_gen_code cpu_s390x_gen_code
> #define cpu_signal_handler cpu_s390x_signal_handler
>
> +void s390_cpu_list(FILE *f, fprintf_function cpu_fprintf);
> +#define cpu_list s390_cpu_list
> +
> #include "exec-all.h"
>
> #ifdef CONFIG_USER_ONLY
>
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
next prev parent reply other threads:[~2012-12-12 13:51 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-12-12 13:08 [Qemu-devel] [PATCH 0/3] s390: ipl device, cpu reset handler and cpu model support Jens Freimann
2012-12-12 13:08 ` [Qemu-devel] [PATCH 1/3] s390: Move IPL code into a separate device Jens Freimann
2012-12-12 13:31 ` Alexander Graf
2012-12-12 19:56 ` Christian Borntraeger
2012-12-12 13:08 ` [Qemu-devel] [PATCH 2/3] s390: Add CPU reset handler Jens Freimann
2012-12-12 13:38 ` Alexander Graf
2012-12-12 15:04 ` Jens Freimann
2012-12-12 13:08 ` [Qemu-devel] [PATCH 3/3] S390: Enable -cpu help and QMP query-cpu-definitions Jens Freimann
2012-12-12 13:40 ` Alexander Graf
2012-12-12 13:51 ` Andreas Färber [this message]
2012-12-12 14:03 ` Alexander Graf
2012-12-12 14:57 ` Viktor Mihajlovski
2012-12-12 17:52 ` Richard Henderson
2012-12-12 18:25 ` Alexander Graf
2012-12-12 15:05 ` Viktor Mihajlovski
2012-12-12 15:50 ` Alexander Graf
2012-12-12 16:28 ` Andreas Färber
2012-12-12 18:23 ` Alexander Graf
-- strict thread matches above, loose matches on Subject: below --
2012-12-14 16:46 [Qemu-devel] [PATCH 0/3] s390: ipl device, cpu reset handler and cpu model support Jens Freimann
2012-12-14 16:46 ` [Qemu-devel] [PATCH 3/3] S390: Enable -cpu help and QMP query-cpu-definitions Jens Freimann
2012-12-16 15:42 ` Andreas Färber
2012-12-17 14:47 ` Alexander Graf
2012-12-17 17:32 ` Andreas Färber
2012-12-18 17:50 [Qemu-devel] [PATCH 0/3] s390: ipl device, cpu reset handler and cpu model support Jens Freimann
2012-12-18 17:50 ` [Qemu-devel] [PATCH 3/3] S390: Enable -cpu help and QMP query-cpu-definitions Jens Freimann
2013-01-03 13:01 ` Alexander Graf
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=50C88BED.6000000@suse.de \
--to=afaerber@suse.de \
--cc=agraf@suse.de \
--cc=borntraeger@de.ibm.com \
--cc=cornelia.huck@de.ibm.com \
--cc=elelueck@linux.vnet.ibm.com \
--cc=graalfs@linux.vnet.ibm.com \
--cc=jfrei@linux.vnet.ibm.com \
--cc=mihajlov@linux.vnet.ibm.com \
--cc=qemu-devel@nongnu.org \
--cc=rth@twiddle.net \
/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.