qemu-devel
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]