From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39270) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ds7fU-0005am-79 for qemu-devel@nongnu.org; Wed, 13 Sep 2017 09:25:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ds7fQ-00032U-CS for qemu-devel@nongnu.org; Wed, 13 Sep 2017 09:25:28 -0400 Received: from mx1.redhat.com ([209.132.183.28]:59498) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ds7fQ-000327-6Q for qemu-devel@nongnu.org; Wed, 13 Sep 2017 09:25:24 -0400 From: David Hildenbrand Date: Wed, 13 Sep 2017 15:24:06 +0200 Message-Id: <20170913132417.24384-12-david@redhat.com> In-Reply-To: <20170913132417.24384-1-david@redhat.com> References: <20170913132417.24384-1-david@redhat.com> Subject: [Qemu-devel] [PATCH v5 11/22] s390x: allow only 1 CPU with TCG List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Richard Henderson , thuth@redhat.com, cohuck@redhat.com, david@redhat.com, borntraeger@de.ibm.com, Alexander Graf , Eduardo Habkost , Matthew Rosato , Paolo Bonzini , Markus Armbruster , Igor Mammedov 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 Signed-off-by: David Hildenbrand --- 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 f67b4b5d58..417998ec28 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