[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v4 15/15] target-s390x: Enable cpu model usage
From: |
Michael Mueller |
Subject: |
[Qemu-devel] [PATCH v4 15/15] target-s390x: Enable cpu model usage |
Date: |
Mon, 30 Mar 2015 16:28:28 +0200 |
This patch enables QEMU to instantiate S390 CPUs with cpu model types.
Signed-off-by: Michael Mueller <address@hidden>
---
hw/s390x/s390-virtio.c | 12 +++++++++++-
target-s390x/helper.c | 9 ++-------
2 files changed, 13 insertions(+), 8 deletions(-)
diff --git a/hw/s390x/s390-virtio.c b/hw/s390x/s390-virtio.c
index bdb5388..8fda717 100644
--- a/hw/s390x/s390-virtio.c
+++ b/hw/s390x/s390-virtio.c
@@ -32,6 +32,7 @@
#include "hw/virtio/virtio.h"
#include "hw/sysbus.h"
#include "sysemu/kvm.h"
+#include "sysemu/cpus.h"
#include "exec/address-spaces.h"
#include "hw/s390x/s390-virtio-bus.h"
@@ -157,7 +158,12 @@ void s390_init_cpus(const char *cpu_model, uint8_t
*storage_keys)
int i;
if (cpu_model == NULL) {
- cpu_model = "host";
+ cpu_model = "none";
+ }
+
+ if (is_help_option(cpu_model)) {
+ list_cpus(stdout, &fprintf, cpu_model);
+ exit(0);
}
ipi_states = g_malloc(sizeof(S390CPU *) * smp_cpus);
@@ -167,6 +173,10 @@ void s390_init_cpus(const char *cpu_model, uint8_t
*storage_keys)
CPUState *cs;
cpu = cpu_s390x_init(cpu_model);
+ if (cpu == NULL) {
+ fprintf(stderr, "Unable to find CPU definition\n");
+ exit(1);
+ }
cs = CPU(cpu);
ipi_states[i] = cpu;
diff --git a/target-s390x/helper.c b/target-s390x/helper.c
index f1060c2..29dabe2 100644
--- a/target-s390x/helper.c
+++ b/target-s390x/helper.c
@@ -22,6 +22,7 @@
#include "exec/gdbstub.h"
#include "qemu/timer.h"
#include "exec/cpu_ldst.h"
+#include "cpu-models.h"
#ifndef CONFIG_USER_ONLY
#include "sysemu/sysemu.h"
#endif
@@ -66,13 +67,7 @@ void s390x_cpu_timer(void *opaque)
S390CPU *cpu_s390x_init(const char *cpu_model)
{
- S390CPU *cpu;
-
- cpu = S390_CPU(object_new(TYPE_S390_CPU));
-
- object_property_set_bool(OBJECT(cpu), true, "realized", NULL);
-
- return cpu;
+ return S390_CPU(cpu_generic_init(TYPE_S390_CPU, cpu_model));
}
#if defined(CONFIG_USER_ONLY)
--
1.8.3.1
- Re: [Qemu-devel] [PATCH v4 11/15] target-s390x: New QMP command query-cpu-model, (continued)
- [Qemu-devel] [PATCH v4 06/15] target-s390x: Add cpu model alias definition routines, Michael Mueller, 2015/03/30
- [Qemu-devel] [PATCH v4 09/15] target-s390x: Add cpu class initialization routines, Michael Mueller, 2015/03/30
- [Qemu-devel] [PATCH v4 03/15] target-s390x: Generate facility defines per cpu model, Michael Mueller, 2015/03/30
- [Qemu-devel] [PATCH v4 08/15] target-s390x: Add KVM VM attribute interface for cpu models, Michael Mueller, 2015/03/30
- [Qemu-devel] [PATCH v4 10/15] target-s390x: Prepare accelerator during cpu object realization, Michael Mueller, 2015/03/30
- [Qemu-devel] [PATCH v4 14/15] target-s390x: Introduce facility test routine, Michael Mueller, 2015/03/30
- [Qemu-devel] [PATCH v4 15/15] target-s390x: Enable cpu model usage,
Michael Mueller <=
- [Qemu-devel] [PATCH v4 12/15] Add optional parameters to QMP command query-cpu-definitions, Michael Mueller, 2015/03/30
- [Qemu-devel] [PATCH v4 02/15] target-s390x: Introduce cpu facilities, Michael Mueller, 2015/03/30
- [Qemu-devel] [PATCH v4 13/15] target-s390x: Extend QMP command query-cpu-definitions, Michael Mueller, 2015/03/30
- [Qemu-devel] [PATCH v4 07/15] target-s390x: Update linux-headers/asm-s390/kvm.h, Michael Mueller, 2015/03/30