s390x: Don't do a normal reset on the initial cpu
authorJanosch Frank <frankja@linux.ibm.com>
Wed, 27 Nov 2019 17:50:41 +0000 (12:50 -0500)
committerCornelia Huck <cohuck@redhat.com>
Sat, 14 Dec 2019 09:25:50 +0000 (10:25 +0100)
The initiating cpu needs to be reset with an initial reset. While
doing a normal reset followed by a initial reset is not wrong per se,
the Ultravisor will only allow the correct reset to be performed.

Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Message-Id: <20191127175046.4911-2-frankja@linux.ibm.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
hw/s390x/s390-virtio-ccw.c

index 01e7e209a5da786277525386e8aebb7d5ccc209e..e0e28139a263e4e18d5bbb5f75b1846cbabce44a 100644 (file)
@@ -348,6 +348,9 @@ static void s390_machine_reset(MachineState *machine)
         break;
     case S390_RESET_LOAD_NORMAL:
         CPU_FOREACH(t) {
+            if (t == cs) {
+                continue;
+            }
             run_on_cpu(t, s390_do_cpu_reset, RUN_ON_CPU_NULL);
         }
         subsystem_reset();