[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL v2 21/38] s390x: allow only 1 CPU with TCG
From: |
Cornelia Huck |
Subject: |
[Qemu-devel] [PULL v2 21/38] s390x: allow only 1 CPU with TCG |
Date: |
Tue, 19 Sep 2017 18:43:20 +0200 |
From: David Hildenbrand <address@hidden>
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.
Tested-by: Matthew Rosato <address@hidden>
Signed-off-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Igor Mammedov <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>
---
hw/s390x/s390-virtio-ccw.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index c908f63543..56f8200851 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"
@@ -55,6 +56,11 @@ static void s390_init_cpus(MachineState *machine)
if (machine->cpu_model == NULL) {
machine->cpu_model = s390_default_cpu_model_name();
}
+ 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);
+ }
cpu_states = g_new0(S390CPU *, max_cpus);
--
2.13.5
- [Qemu-devel] [PULL v2 11/38] exec, dump, i386, ppc, s390x: don't include exec/cpu-all.h explicitly, (continued)
- [Qemu-devel] [PULL v2 11/38] exec, dump, i386, ppc, s390x: don't include exec/cpu-all.h explicitly, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 12/38] cpu: drop old comments describing members, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 13/38] s390x: get rid of s390-virtio.c, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 14/38] s390x: rename s390-virtio.h to s390-virtio-hcall.h, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 15/38] s390x: move s390_virtio_hypercall() to s390-virtio-hcall.h, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 16/38] s390x: move subsystem_reset() to s390-virtio-ccw.h, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 17/38] target/s390x: move some s390x typedefs to cpu-qom.h, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 18/38] s390x: move sclp_service_call() to sclp.h, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 19/38] target/s390x: use trigger_pgm_exception() in s390_cpu_handle_mmu_fault(), Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 20/38] target/s390x: use program_interrupt() in per_check_exception(), Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 21/38] s390x: allow only 1 CPU with TCG,
Cornelia Huck <=
- [Qemu-devel] [PULL v2 22/38] target/s390x: set cpu->id for linux user when realizing, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 23/38] target/s390x: use "core-id" for cpu number/address/id handling, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 24/38] target/s390x: rename next_cpu_id to next_core_id, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 25/38] s390x: print CPU definitions in sorted order, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 26/38] s390x: allow cpu hotplug via device_add, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 27/38] s390x: CPU hot unplug via device_del cannot work for now, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 28/38] s390x: implement query-hotpluggable-cpus, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 29/38] s390x: get rid of cpu_states and use possible_cpus instead, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 31/38] s390x: generate sclp cpu information from possible_cpus, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 30/38] s390x: get rid of cpu_s390x_create(), Cornelia Huck, 2017/09/19