From: David Hildenbrand <d...@linux.vnet.ibm.com>

As all full cpu resets currently call into the kernel to do initial cpu reset,
let's run this reset (triggered by cpu_s390x_init()) on the proper vcpu thread.

Reviewed-by: Cornelia Huck <cornelia.h...@de.ibm.com>
Acked-by: Christian Borntraeger <borntrae...@de.ibm.com>
Signed-off-by: David Hildenbrand <d...@linux.vnet.ibm.com>
Signed-off-by: Jens Freimann <jf...@linux.vnet.ibm.com>
Signed-off-by: Christian Borntraeger <borntrae...@de.ibm.com>
---
 target-s390x/cpu.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/target-s390x/cpu.c b/target-s390x/cpu.c
index 4633282..505a2fa 100644
--- a/target-s390x/cpu.c
+++ b/target-s390x/cpu.c
@@ -175,7 +175,11 @@ static void s390_cpu_realizefn(DeviceState *dev, Error 
**errp)
     S390CPUClass *scc = S390_CPU_GET_CLASS(dev);
 
     qemu_init_vcpu(cs);
+#if !defined(CONFIG_USER_ONLY)
+    run_on_cpu(cs, s390_do_cpu_full_reset, cs);
+#else
     cpu_reset(cs);
+#endif
 
     scc->parent_realize(dev, errp);
 }
-- 
1.8.4.2


Reply via email to