s390x/kvm: trace all SIGP orders
authorDavid Hildenbrand <dahi@linux.vnet.ibm.com>
Tue, 24 Feb 2015 13:15:26 +0000 (14:15 +0100)
committerChristian Borntraeger <borntraeger@de.ibm.com>
Tue, 10 Mar 2015 08:26:22 +0000 (09:26 +0100)
This patch adds tracing code for all SIGP orders (including the destination
vcpu and the resulting condition code).

Reviewed-by: Thomas Huth <thuth@linux.vnet.ibm.com>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Jens Freimann <jfrei@linux.vnet.ibm.com>
Signed-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Message-Id: <1424783731-43426-6-git-send-email-jfrei@linux.vnet.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
target-s390x/kvm.c
trace-events

index 28d26c1996efac2a986ae98683b9c87113203436..c4c867c00f99db45f47a6e49ef9c2c2bb854a100 100644 (file)
@@ -1131,7 +1131,6 @@ static void sigp_start(void *arg)
 
     s390_cpu_set_state(CPU_STATE_OPERATING, si->cpu);
     si->cc = SIGP_CC_ORDER_CODE_ACCEPTED;
-    DPRINTF("DONE: KVM cpu start: %p\n", &si->cpu->env);
 }
 
 static void sigp_restart(void *arg)
@@ -1247,6 +1246,9 @@ static int handle_sigp(S390CPU *cpu, struct kvm_run *run, uint8_t ipa1)
         ret = handle_sigp_single_dst(dst_cpu, order, param, status_reg);
     }
 
+    trace_kvm_sigp_finished(order, CPU(cpu)->cpu_index,
+                            dst_cpu ? CPU(dst_cpu)->cpu_index : -1, ret);
+
     if (ret >= 0) {
         setcc(cpu, ret);
         return 0;
index 4ac588c275e15983a0ccf51d67b89441a8eadb6f..30eba926c4468e29d71bccd45f18d408a1c945fc 100644 (file)
@@ -1581,6 +1581,7 @@ mhp_pc_dimm_assigned_address(uint64_t addr) "0x%"PRIx64
 kvm_enable_cmma(int rc) "CMMA: enabling with result code %d"
 kvm_clear_cmma(int rc) "CMMA: clearing with result code %d"
 kvm_failed_cpu_state_set(int cpu_index, uint8_t state, const char *msg) "Warning: Unable to set cpu %d state %" PRIu8 " to KVM: %s"
+kvm_sigp_finished(uint8_t order, int cpu_index, int dst_index, int cc) "SIGP: Finished order %u on cpu %d -> cpu %d with cc=%d"
 
 # hw/dma/i8257.c
 i8257_unregistered_dma(int nchan, int dma_pos, int dma_len) "unregistered DMA channel used nchan=%d dma_pos=%d dma_len=%d"