From: "Andreas Färber" <afaerber@suse.de>
To: Alexander Graf <agraf@suse.de>
Cc: Heinz Graalfs <graalfs@linux.vnet.ibm.com>,
qemu-devel <qemu-devel@nongnu.org>,
Viktor Mihajlovski <mihajlov@linux.vnet.ibm.com>,
Christian Borntraeger <borntraeger@de.ibm.com>,
Jens Freimann <jfrei@linux.vnet.ibm.com>,
Cornelia Huck <cornelia.huck@de.ibm.com>,
Einar Lueck <elelueck@linux.vnet.ibm.com>
Subject: Re: [Qemu-devel] [PATCH 3/3] S390: Enable -cpu help and QMP query-cpu-definitions
Date: Mon, 17 Dec 2012 18:32:57 +0100 [thread overview]
Message-ID: <50CF5749.5020701@suse.de> (raw)
In-Reply-To: <D025B4FD-6031-4D24-BD31-6E35A9B5FC17@suse.de>
Am 17.12.2012 15:47, schrieb Alexander Graf:
>
> On 14.12.2012, at 17:46, Jens Freimann wrote:
>
>> 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>
>> ---
>> v1 -> v2:
>> * only print output with CONFIG_KVM
>>
>> ---
>> hw/s390-virtio.c | 6 +++++-
>> target-s390x/cpu.c | 23 +++++++++++++++++++++++
>> target-s390x/cpu.h | 3 +++
>> 3 files changed, 31 insertions(+), 1 deletion(-)
>>
>> diff --git a/hw/s390-virtio.c b/hw/s390-virtio.c
>> index a350430..60fde26 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 75d4036..adca789 100644
>> --- a/target-s390x/cpu.c
>> +++ b/target-s390x/cpu.c
>> @@ -28,8 +28,31 @@
>> #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)
>> +{
>> +#ifdef CONFIG_KVM
>> + (*cpu_fprintf)(f, "s390 %16s\n", "host");
>> +#endif
>> +}
>> +
>
> static const struct CpuDefinitionInfo cpu_info[] = {
> #ifdef CONFIG_KVM
> {
> .name = "host",
> },
> #endif
> };
>
> static const struct CPUDefinitionInfoList cpu_entry = {
> value = cpu_info,
> };
>
>> +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;
>
> (completely untested, don't you think the above would work? The code as is looks quite leaky.)
target-i386 does it the same way (well, not hardcoding "host"
obviously), so if there's leaks they need to be solved in generic code.
Mid-term we want to generate this list on the fly from CPU subclasses,
so I don't see the utility of starting a static model list for QMP only.
Given that subclasses are really easy to introduce, we might as well do
that. We could leave s390-cpu non-abstract as fallback for the non-host
cpu_models plus one host-s390-cpu for -cpu host; only thing to keep in
mind then is that the base class is not automatically filtered out, as
relied on for other targets.
Andreas
--
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-17 17:33 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
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 1/3] s390: Move IPL code into a separate device Jens Freimann
2012-12-16 16:26 ` Andreas Färber
2012-12-16 21:15 ` Christian Borntraeger
2012-12-14 16:46 ` [Qemu-devel] [PATCH 2/3] s390: Add CPU reset handler Jens Freimann
2012-12-16 15:30 ` Andreas Färber
2012-12-17 8:49 ` Jens Freimann
2012-12-17 14:49 ` Alexander Graf
2012-12-17 15:41 ` Jens Freimann
2012-12-17 17:21 ` Andreas Färber
2012-12-17 17:27 ` Alexander Graf
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 [this message]
-- strict thread matches above, loose matches on Subject: below --
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
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 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
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
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=50CF5749.5020701@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 \
/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).