[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 11/21] s390x: allow only 1 CPU with TCG
From: |
David Hildenbrand |
Subject: |
[Qemu-devel] [PATCH v3 11/21] s390x: allow only 1 CPU with TCG |
Date: |
Thu, 7 Sep 2017 22:13:25 +0200 |
Specifying more than 1 CPU (e.g. -smp 5) leads to SIGP errors (the
guest tries to bring these CPUs up but fails), because we don't support
multiple CPUs on s390x under TCG.
Let's bail out if more than 1 is specified, so we don't raise people's
hope. Make it a define, so we can easily bump it up later.
Tested-by: Matthew Rosato <address@hidden>
Signed-off-by: David Hildenbrand <address@hidden>
---
hw/s390x/s390-virtio-ccw.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index f67b4b5d58..f1198b2745 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -23,6 +23,7 @@
#include "hw/s390x/css.h"
#include "virtio-ccw.h"
#include "qemu/config-file.h"
+#include "qemu/error-report.h"
#include "s390-pci-bus.h"
#include "hw/s390x/storage-keys.h"
#include "hw/s390x/storage-attributes.h"
@@ -47,6 +48,8 @@ S390CPU *s390_cpu_addr2state(uint16_t cpu_addr)
return cpu_states[cpu_addr];
}
+/* #define S390_TCG_SMP_SUPPORT */
+
static void s390_init_cpus(MachineState *machine)
{
int i;
@@ -55,6 +58,13 @@ static void s390_init_cpus(MachineState *machine)
if (machine->cpu_model == NULL) {
machine->cpu_model = s390_default_cpu_model_name();
}
+#ifndef S390_TCG_SMP_SUPPORT
+ if (tcg_enabled() && max_cpus > 1) {
+ error_report("Number of SMP CPUs requested (%d) exceeds max CPUs "
+ "supported by TCG (1) on s390x", max_cpus);
+ exit(1);
+ }
+#endif
cpu_states = g_new0(S390CPU *, max_cpus);
--
2.13.5
- [Qemu-devel] [PATCH v3 01/21] exec, dump, i386, ppc, s390x: don't include exec/cpu-all.h explicitly, (continued)
- [Qemu-devel] [PATCH v3 01/21] exec, dump, i386, ppc, s390x: don't include exec/cpu-all.h explicitly, David Hildenbrand, 2017/09/07
- [Qemu-devel] [PATCH v3 02/21] cpu: drop old comments describing members, David Hildenbrand, 2017/09/07
- [Qemu-devel] [PATCH v3 04/21] s390x: rename s390-virtio.h to s390-virtio-hcall.h, David Hildenbrand, 2017/09/07
- [Qemu-devel] [PATCH v3 03/21] s390x: get rid of s390-virtio.c, David Hildenbrand, 2017/09/07
- [Qemu-devel] [PATCH v3 05/21] target/s390x: move typedef of S390CPU to its definition, David Hildenbrand, 2017/09/07
- [Qemu-devel] [PATCH v3 06/21] s390x: move s390_virtio_hypercall() to s390-virtio-hcall.h, David Hildenbrand, 2017/09/07
- [Qemu-devel] [PATCH v3 07/21] s390x: move subsystem_reset() to s390-virtio-ccw.h, David Hildenbrand, 2017/09/07
- [Qemu-devel] [PATCH v3 08/21] s390x: move sclp_service_call() to sclp.h, David Hildenbrand, 2017/09/07
- [Qemu-devel] [PATCH v3 09/21] target/s390x: use trigger_pgm_exception() in s390_cpu_handle_mmu_fault(), David Hildenbrand, 2017/09/07
- [Qemu-devel] [PATCH v3 10/21] target/s390x: use program_interrupt() in per_check_exception(), David Hildenbrand, 2017/09/07
- [Qemu-devel] [PATCH v3 11/21] s390x: allow only 1 CPU with TCG,
David Hildenbrand <=
- [Qemu-devel] [PATCH v3 12/21] target/s390x: set cpu->id for linux user when realizing, David Hildenbrand, 2017/09/07
- [Qemu-devel] [PATCH v3 13/21] target/s390x: use "core-id" for cpu number/address/id handling, David Hildenbrand, 2017/09/07
- [Qemu-devel] [PATCH v3 14/21] target/s390x: rename next_cpu_id to next_core_id, David Hildenbrand, 2017/09/07
- [Qemu-devel] [PATCH v3 15/21] s390x: print CPU definitions in sorted order, David Hildenbrand, 2017/09/07
- [Qemu-devel] [PATCH v3 16/21] s390x: allow cpu hotplug via device_add, David Hildenbrand, 2017/09/07
- [Qemu-devel] [PATCH v3 17/21] s390x: CPU hot unplug via device_del cannot work for now, David Hildenbrand, 2017/09/07
- [Qemu-devel] [PATCH v3 18/21] s390x: implement query-hotpluggable-cpus, David Hildenbrand, 2017/09/07
- [Qemu-devel] [PATCH v3 19/21] s390x: get rid of cpu_s390x_create(), David Hildenbrand, 2017/09/07
- [Qemu-devel] [PATCH v3 20/21] s390x: generate sclp cpu information from possible_cpus, David Hildenbrand, 2017/09/07
- [Qemu-devel] [PATCH v3 21/21] s390x: allow CPU hotplug in random core-id order, David Hildenbrand, 2017/09/07