qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] s390x/kvm: fix run_on_cpu sigp conversions
@ 2016-11-02 16:21 Cornelia Huck
  2016-11-04  8:23 ` Christian Borntraeger
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Cornelia Huck @ 2016-11-02 16:21 UTC (permalink / raw)
  To: peter.maydell, stefanha
  Cc: borntraeger, agraf, jfrei, alex.bennee, pbonzini, qemu-devel,
	Cornelia Huck

Commit 14e6fe12a ("*_run_on_cpu: introduce run_on_cpu_data type")
attempted to convert all users of run_on_cpu to use the new
run_on_cpu_data type. It missed to change the called sigp_* routines,
however. Fix that.

Fixes: 14e6fe12a ("*_run_on_cpu: introduce run_on_cpu_data type")
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
---
Peter, Stefan: This fixes building for s390x which is currently
broken (at least with kvm enabled). Two questions:
- Will you pick this up as a build fix, or should I do a pull req?
- Can we do anything more to catch errors like this?
---
 target-s390x/kvm.c | 36 ++++++++++++++++++------------------
 1 file changed, 18 insertions(+), 18 deletions(-)

diff --git a/target-s390x/kvm.c b/target-s390x/kvm.c
index 36b4847..97afe02 100644
--- a/target-s390x/kvm.c
+++ b/target-s390x/kvm.c
@@ -1401,10 +1401,10 @@ static void set_sigp_status(SigpInfo *si, uint64_t status)
     si->cc = SIGP_CC_STATUS_STORED;
 }
 
-static void sigp_start(CPUState *cs, void *arg)
+static void sigp_start(CPUState *cs, run_on_cpu_data arg)
 {
     S390CPU *cpu = S390_CPU(cs);
-    SigpInfo *si = arg;
+    SigpInfo *si = arg.host_ptr;
 
     if (s390_cpu_get_state(cpu) != CPU_STATE_STOPPED) {
         si->cc = SIGP_CC_ORDER_CODE_ACCEPTED;
@@ -1415,10 +1415,10 @@ static void sigp_start(CPUState *cs, void *arg)
     si->cc = SIGP_CC_ORDER_CODE_ACCEPTED;
 }
 
-static void sigp_stop(CPUState *cs, void *arg)
+static void sigp_stop(CPUState *cs, run_on_cpu_data arg)
 {
     S390CPU *cpu = S390_CPU(cs);
-    SigpInfo *si = arg;
+    SigpInfo *si = arg.host_ptr;
     struct kvm_s390_irq irq = {
         .type = KVM_S390_SIGP_STOP,
     };
@@ -1501,10 +1501,10 @@ static int kvm_s390_store_status(S390CPU *cpu, hwaddr addr, bool store_arch)
     return 0;
 }
 
-static void sigp_stop_and_store_status(CPUState *cs, void *arg)
+static void sigp_stop_and_store_status(CPUState *cs, run_on_cpu_data arg)
 {
     S390CPU *cpu = S390_CPU(cs);
-    SigpInfo *si = arg;
+    SigpInfo *si = arg.host_ptr;
     struct kvm_s390_irq irq = {
         .type = KVM_S390_SIGP_STOP,
     };
@@ -1529,10 +1529,10 @@ static void sigp_stop_and_store_status(CPUState *cs, void *arg)
     si->cc = SIGP_CC_ORDER_CODE_ACCEPTED;
 }
 
-static void sigp_store_status_at_address(CPUState *cs, void *arg)
+static void sigp_store_status_at_address(CPUState *cs, run_on_cpu_data arg)
 {
     S390CPU *cpu = S390_CPU(cs);
-    SigpInfo *si = arg;
+    SigpInfo *si = arg.host_ptr;
     uint32_t address = si->param & 0x7ffffe00u;
 
     /* cpu has to be stopped */
@@ -1550,10 +1550,10 @@ static void sigp_store_status_at_address(CPUState *cs, void *arg)
     si->cc = SIGP_CC_ORDER_CODE_ACCEPTED;
 }
 
-static void sigp_store_adtl_status(CPUState *cs, void *arg)
+static void sigp_store_adtl_status(CPUState *cs, run_on_cpu_data arg)
 {
     S390CPU *cpu = S390_CPU(cs);
-    SigpInfo *si = arg;
+    SigpInfo *si = arg.host_ptr;
 
     if (!s390_has_feat(S390_FEAT_VECTOR)) {
         set_sigp_status(si, SIGP_STAT_INVALID_ORDER);
@@ -1581,10 +1581,10 @@ static void sigp_store_adtl_status(CPUState *cs, void *arg)
     si->cc = SIGP_CC_ORDER_CODE_ACCEPTED;
 }
 
-static void sigp_restart(CPUState *cs, void *arg)
+static void sigp_restart(CPUState *cs, run_on_cpu_data arg)
 {
     S390CPU *cpu = S390_CPU(cs);
-    SigpInfo *si = arg;
+    SigpInfo *si = arg.host_ptr;
     struct kvm_s390_irq irq = {
         .type = KVM_S390_RESTART,
     };
@@ -1612,11 +1612,11 @@ int kvm_s390_cpu_restart(S390CPU *cpu)
     return 0;
 }
 
-static void sigp_initial_cpu_reset(CPUState *cs, void *arg)
+static void sigp_initial_cpu_reset(CPUState *cs, run_on_cpu_data arg)
 {
     S390CPU *cpu = S390_CPU(cs);
     S390CPUClass *scc = S390_CPU_GET_CLASS(cpu);
-    SigpInfo *si = arg;
+    SigpInfo *si = arg.host_ptr;
 
     cpu_synchronize_state(cs);
     scc->initial_cpu_reset(cs);
@@ -1624,11 +1624,11 @@ static void sigp_initial_cpu_reset(CPUState *cs, void *arg)
     si->cc = SIGP_CC_ORDER_CODE_ACCEPTED;
 }
 
-static void sigp_cpu_reset(CPUState *cs, void *arg)
+static void sigp_cpu_reset(CPUState *cs, run_on_cpu_data arg)
 {
     S390CPU *cpu = S390_CPU(cs);
     S390CPUClass *scc = S390_CPU_GET_CLASS(cpu);
-    SigpInfo *si = arg;
+    SigpInfo *si = arg.host_ptr;
 
     cpu_synchronize_state(cs);
     scc->cpu_reset(cs);
@@ -1636,10 +1636,10 @@ static void sigp_cpu_reset(CPUState *cs, void *arg)
     si->cc = SIGP_CC_ORDER_CODE_ACCEPTED;
 }
 
-static void sigp_set_prefix(CPUState *cs, void *arg)
+static void sigp_set_prefix(CPUState *cs, run_on_cpu_data arg)
 {
     S390CPU *cpu = S390_CPU(cs);
-    SigpInfo *si = arg;
+    SigpInfo *si = arg.host_ptr;
     uint32_t addr = si->param & 0x7fffe000u;
 
     cpu_synchronize_state(cs);
-- 
2.8.4

^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2016-11-07 11:34 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-11-02 16:21 [Qemu-devel] [PATCH] s390x/kvm: fix run_on_cpu sigp conversions Cornelia Huck
2016-11-04  8:23 ` Christian Borntraeger
2016-11-04  8:25   ` Christian Borntraeger
2016-11-04  9:06 ` Paolo Bonzini
2016-11-07  7:36   ` Fam Zheng
2016-11-07  8:34     ` Paolo Bonzini
2016-11-07  9:00       ` Fam Zheng
2016-11-07 11:34 ` Stefan Hajnoczi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).