yeahuh / rpms / qemu-kvm

Forked from rpms/qemu-kvm 2 years ago
Clone

Blame SOURCES/kvm-s390x-Don-t-do-a-normal-reset-on-the-initial-cpu.patch

ddf19c
From 511638161566d4944a572a31d787eb27bbc0bc8e Mon Sep 17 00:00:00 2001
ddf19c
From: Thomas Huth <thuth@redhat.com>
ddf19c
Date: Fri, 29 May 2020 05:53:45 -0400
ddf19c
Subject: [PATCH 03/42] s390x: Don't do a normal reset on the initial cpu
ddf19c
MIME-Version: 1.0
ddf19c
Content-Type: text/plain; charset=UTF-8
ddf19c
Content-Transfer-Encoding: 8bit
ddf19c
ddf19c
RH-Author: Thomas Huth <thuth@redhat.com>
ddf19c
Message-id: <20200529055420.16855-4-thuth@redhat.com>
ddf19c
Patchwork-id: 97017
ddf19c
O-Subject: [RHEL-8.3.0 qemu-kvm PATCH v2 03/38] s390x: Don't do a normal reset on the initial cpu
ddf19c
Bugzilla: 1828317
ddf19c
RH-Acked-by: Claudio Imbrenda <cimbrend@redhat.com>
ddf19c
RH-Acked-by: Philippe Mathieu-Daudé <philmd@redhat.com>
ddf19c
RH-Acked-by: Cornelia Huck <cohuck@redhat.com>
ddf19c
RH-Acked-by: David Hildenbrand <david@redhat.com>
ddf19c
ddf19c
From: Janosch Frank <frankja@linux.ibm.com>
ddf19c
ddf19c
The initiating cpu needs to be reset with an initial reset. While
ddf19c
doing a normal reset followed by a initial reset is not wrong per se,
ddf19c
the Ultravisor will only allow the correct reset to be performed.
ddf19c
ddf19c
Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
ddf19c
Reviewed-by: David Hildenbrand <david@redhat.com>
ddf19c
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
ddf19c
Message-Id: <20191127175046.4911-2-frankja@linux.ibm.com>
ddf19c
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
ddf19c
(cherry picked from commit ec9227339fce99412830d44a37eb0bd2fadd5f75)
ddf19c
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
ddf19c
---
ddf19c
 hw/s390x/s390-virtio-ccw.c | 3 +++
ddf19c
 1 file changed, 3 insertions(+)
ddf19c
ddf19c
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
ddf19c
index c2c83d2fce..4ea01c53c0 100644
ddf19c
--- a/hw/s390x/s390-virtio-ccw.c
ddf19c
+++ b/hw/s390x/s390-virtio-ccw.c
ddf19c
@@ -348,6 +348,9 @@ static void s390_machine_reset(MachineState *machine)
ddf19c
         break;
ddf19c
     case S390_RESET_LOAD_NORMAL:
ddf19c
         CPU_FOREACH(t) {
ddf19c
+            if (t == cs) {
ddf19c
+                continue;
ddf19c
+            }
ddf19c
             run_on_cpu(t, s390_do_cpu_reset, RUN_ON_CPU_NULL);
ddf19c
         }
ddf19c
         subsystem_reset();
ddf19c
-- 
ddf19c
2.27.0
ddf19c