aboutsummaryrefslogtreecommitdiff
path: root/target-s390x/cpu.c
diff options
context:
space:
mode:
authorViktor Mihajlovski <mihajlov@linux.vnet.ibm.com>2012-12-18 07:50:59 +0000
committerAlexander Graf <agraf@suse.de>2013-01-18 19:07:47 +0100
commit904e5fd5c25537fdf910bfd5db832df5d9c23ad6 (patch)
treea6bfa6efd9a2ad834241962268f32357058d96ea /target-s390x/cpu.c
parente674a49aae8b79bc4ea07f1bcd666bbf28b12a27 (diff)
downloadqemu-904e5fd5c25537fdf910bfd5db832df5d9c23ad6.zip
qemu-904e5fd5c25537fdf910bfd5db832df5d9c23ad6.tar.gz
qemu-904e5fd5c25537fdf910bfd5db832df5d9c23ad6.tar.bz2
S390: Enable -cpu help and QMP query-cpu-definitions
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> [agraf: fix s390x-linux-user, adjust header locations] Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'target-s390x/cpu.c')
-rw-r--r--target-s390x/cpu.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/target-s390x/cpu.c b/target-s390x/cpu.c
index 2ed2312..420b21b 100644
--- a/target-s390x/cpu.c
+++ b/target-s390x/cpu.c
@@ -23,7 +23,33 @@
#include "cpu.h"
#include "qemu-common.h"
#include "qemu/timer.h"
+#ifndef CONFIG_USER_ONLY
+#include "sysemu/arch_init.h"
+#endif
+
+/* 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
+}
+#ifndef CONFIG_USER_ONLY
+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;
+}
+#endif
/* CPUClass::reset() */
static void s390_cpu_reset(CPUState *s)