These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / arch / s390 / kvm / trace-s390.h
index 3208d33..cc1d6c6 100644 (file)
@@ -105,11 +105,22 @@ TRACE_EVENT(kvm_s390_vcpu_start_stop,
        {KVM_S390_PROGRAM_INT, "program interrupt"},                    \
        {KVM_S390_SIGP_SET_PREFIX, "sigp set prefix"},                  \
        {KVM_S390_RESTART, "sigp restart"},                             \
+       {KVM_S390_INT_PFAULT_INIT, "pfault init"},                      \
+       {KVM_S390_INT_PFAULT_DONE, "pfault done"},                      \
+       {KVM_S390_MCHK, "machine check"},                               \
+       {KVM_S390_INT_CLOCK_COMP, "clock comparator"},                  \
+       {KVM_S390_INT_CPU_TIMER, "cpu timer"},                          \
        {KVM_S390_INT_VIRTIO, "virtio interrupt"},                      \
        {KVM_S390_INT_SERVICE, "sclp interrupt"},                       \
        {KVM_S390_INT_EMERGENCY, "sigp emergency"},                     \
        {KVM_S390_INT_EXTERNAL_CALL, "sigp ext call"}
 
+#define get_irq_name(__type) \
+       (__type > KVM_S390_INT_IO_MAX ? \
+       __print_symbolic(__type, kvm_s390_int_type) : \
+               (__type & KVM_S390_INT_IO_AI_MASK ? \
+                "adapter I/O interrupt" : "subchannel I/O interrupt"))
+
 TRACE_EVENT(kvm_s390_inject_vm,
            TP_PROTO(__u64 type, __u32 parm, __u64 parm64, int who),
            TP_ARGS(type, parm, parm64, who),
@@ -131,22 +142,19 @@ TRACE_EVENT(kvm_s390_inject_vm,
            TP_printk("inject%s: type:%x (%s) parm:%x parm64:%llx",
                      (__entry->who == 1) ? " (from kernel)" :
                      (__entry->who == 2) ? " (from user)" : "",
-                     __entry->inttype,
-                     __print_symbolic(__entry->inttype, kvm_s390_int_type),
+                     __entry->inttype, get_irq_name(__entry->inttype),
                      __entry->parm, __entry->parm64)
        );
 
 TRACE_EVENT(kvm_s390_inject_vcpu,
-           TP_PROTO(unsigned int id, __u64 type, __u32 parm, __u64 parm64, \
-                    int who),
-           TP_ARGS(id, type, parm, parm64, who),
+           TP_PROTO(unsigned int id, __u64 type, __u32 parm, __u64 parm64),
+           TP_ARGS(id, type, parm, parm64),
 
            TP_STRUCT__entry(
                    __field(int, id)
                    __field(__u32, inttype)
                    __field(__u32, parm)
                    __field(__u64, parm64)
-                   __field(int, who)
                    ),
 
            TP_fast_assign(
@@ -154,15 +162,12 @@ TRACE_EVENT(kvm_s390_inject_vcpu,
                    __entry->inttype = type & 0x00000000ffffffff;
                    __entry->parm = parm;
                    __entry->parm64 = parm64;
-                   __entry->who = who;
                    ),
 
-           TP_printk("inject%s (vcpu %d): type:%x (%s) parm:%x parm64:%llx",
-                     (__entry->who == 1) ? " (from kernel)" :
-                     (__entry->who == 2) ? " (from user)" : "",
+           TP_printk("inject (vcpu %d): type:%x (%s) parm:%x parm64:%llx",
                      __entry->id, __entry->inttype,
-                     __print_symbolic(__entry->inttype, kvm_s390_int_type),
-                     __entry->parm, __entry->parm64)
+                     get_irq_name(__entry->inttype), __entry->parm,
+                     __entry->parm64)
        );
 
 /*
@@ -189,8 +194,8 @@ TRACE_EVENT(kvm_s390_deliver_interrupt,
            TP_printk("deliver interrupt (vcpu %d): type:%x (%s) "      \
                      "data:%08llx %016llx",
                      __entry->id, __entry->inttype,
-                     __print_symbolic(__entry->inttype, kvm_s390_int_type),
-                     __entry->data0, __entry->data1)
+                     get_irq_name(__entry->inttype), __entry->data0,
+                     __entry->data1)
        );
 
 /*