[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 3/3] S390: Enable -cpu help and QMP query-cpu-de
From: |
Andreas Färber |
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 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/17.0 Thunderbird/17.0 |
Am 12.12.2012 14:08, schrieb Jens Freimann:
> From: Viktor Mihajlovski <address@hidden>
>
> 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 <address@hidden>
> Signed-off-by: Jens Freimann <address@hidden>
> Reviewed-by: Christian Borntraeger <address@hidden>
> ---
> 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 <address@hidden>
> + * 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
- [Qemu-devel] [PATCH 0/3] s390: ipl device, cpu reset handler and cpu model support, Jens Freimann, 2012/12/12
- [Qemu-devel] [PATCH 1/3] s390: Move IPL code into a separate device, Jens Freimann, 2012/12/12
- [Qemu-devel] [PATCH 2/3] s390: Add CPU reset handler, Jens Freimann, 2012/12/12
- [Qemu-devel] [PATCH 3/3] S390: Enable -cpu help and QMP query-cpu-definitions, Jens Freimann, 2012/12/12
- Re: [Qemu-devel] [PATCH 3/3] S390: Enable -cpu help and QMP query-cpu-definitions, Viktor Mihajlovski, 2012/12/12
- Re: [Qemu-devel] [PATCH 3/3] S390: Enable -cpu help and QMP query-cpu-definitions, Alexander Graf, 2012/12/12
- Re: [Qemu-devel] [PATCH 3/3] S390: Enable -cpu help and QMP query-cpu-definitions, Andreas Färber, 2012/12/12
- Re: [Qemu-devel] [PATCH 3/3] S390: Enable -cpu help and QMP query-cpu-definitions, Alexander Graf, 2012/12/12