diff options
Diffstat (limited to 'arch/powerpc/kvm/trace_booke.h')
-rw-r--r-- | arch/powerpc/kvm/trace_booke.h | 47 |
1 files changed, 45 insertions, 2 deletions
diff --git a/arch/powerpc/kvm/trace_booke.h b/arch/powerpc/kvm/trace_booke.h index f7537cf26ce7..7ec534d1db9f 100644 --- a/arch/powerpc/kvm/trace_booke.h +++ b/arch/powerpc/kvm/trace_booke.h | |||
@@ -151,6 +151,47 @@ TRACE_EVENT(kvm_booke206_ref_release, | |||
151 | __entry->pfn, __entry->flags) | 151 | __entry->pfn, __entry->flags) |
152 | ); | 152 | ); |
153 | 153 | ||
154 | #ifdef CONFIG_SPE_POSSIBLE | ||
155 | #define kvm_trace_symbol_irqprio_spe \ | ||
156 | {BOOKE_IRQPRIO_SPE_UNAVAIL, "SPE_UNAVAIL"}, \ | ||
157 | {BOOKE_IRQPRIO_SPE_FP_DATA, "SPE_FP_DATA"}, \ | ||
158 | {BOOKE_IRQPRIO_SPE_FP_ROUND, "SPE_FP_ROUND"}, | ||
159 | #else | ||
160 | #define kvm_trace_symbol_irqprio_spe | ||
161 | #endif | ||
162 | |||
163 | #ifdef CONFIG_PPC_E500MC | ||
164 | #define kvm_trace_symbol_irqprio_e500mc \ | ||
165 | {BOOKE_IRQPRIO_ALTIVEC_UNAVAIL, "ALTIVEC_UNAVAIL"}, \ | ||
166 | {BOOKE_IRQPRIO_ALTIVEC_ASSIST, "ALTIVEC_ASSIST"}, | ||
167 | #else | ||
168 | #define kvm_trace_symbol_irqprio_e500mc | ||
169 | #endif | ||
170 | |||
171 | #define kvm_trace_symbol_irqprio \ | ||
172 | kvm_trace_symbol_irqprio_spe \ | ||
173 | kvm_trace_symbol_irqprio_e500mc \ | ||
174 | {BOOKE_IRQPRIO_DATA_STORAGE, "DATA_STORAGE"}, \ | ||
175 | {BOOKE_IRQPRIO_INST_STORAGE, "INST_STORAGE"}, \ | ||
176 | {BOOKE_IRQPRIO_ALIGNMENT, "ALIGNMENT"}, \ | ||
177 | {BOOKE_IRQPRIO_PROGRAM, "PROGRAM"}, \ | ||
178 | {BOOKE_IRQPRIO_FP_UNAVAIL, "FP_UNAVAIL"}, \ | ||
179 | {BOOKE_IRQPRIO_SYSCALL, "SYSCALL"}, \ | ||
180 | {BOOKE_IRQPRIO_AP_UNAVAIL, "AP_UNAVAIL"}, \ | ||
181 | {BOOKE_IRQPRIO_DTLB_MISS, "DTLB_MISS"}, \ | ||
182 | {BOOKE_IRQPRIO_ITLB_MISS, "ITLB_MISS"}, \ | ||
183 | {BOOKE_IRQPRIO_MACHINE_CHECK, "MACHINE_CHECK"}, \ | ||
184 | {BOOKE_IRQPRIO_DEBUG, "DEBUG"}, \ | ||
185 | {BOOKE_IRQPRIO_CRITICAL, "CRITICAL"}, \ | ||
186 | {BOOKE_IRQPRIO_WATCHDOG, "WATCHDOG"}, \ | ||
187 | {BOOKE_IRQPRIO_EXTERNAL, "EXTERNAL"}, \ | ||
188 | {BOOKE_IRQPRIO_FIT, "FIT"}, \ | ||
189 | {BOOKE_IRQPRIO_DECREMENTER, "DECREMENTER"}, \ | ||
190 | {BOOKE_IRQPRIO_PERFORMANCE_MONITOR, "PERFORMANCE_MONITOR"}, \ | ||
191 | {BOOKE_IRQPRIO_EXTERNAL_LEVEL, "EXTERNAL_LEVEL"}, \ | ||
192 | {BOOKE_IRQPRIO_DBELL, "DBELL"}, \ | ||
193 | {BOOKE_IRQPRIO_DBELL_CRIT, "DBELL_CRIT"} \ | ||
194 | |||
154 | TRACE_EVENT(kvm_booke_queue_irqprio, | 195 | TRACE_EVENT(kvm_booke_queue_irqprio, |
155 | TP_PROTO(struct kvm_vcpu *vcpu, unsigned int priority), | 196 | TP_PROTO(struct kvm_vcpu *vcpu, unsigned int priority), |
156 | TP_ARGS(vcpu, priority), | 197 | TP_ARGS(vcpu, priority), |
@@ -167,8 +208,10 @@ TRACE_EVENT(kvm_booke_queue_irqprio, | |||
167 | __entry->pending = vcpu->arch.pending_exceptions; | 208 | __entry->pending = vcpu->arch.pending_exceptions; |
168 | ), | 209 | ), |
169 | 210 | ||
170 | TP_printk("vcpu=%x prio=%x pending=%lx", | 211 | TP_printk("vcpu=%x prio=%s pending=%lx", |
171 | __entry->cpu_nr, __entry->priority, __entry->pending) | 212 | __entry->cpu_nr, |
213 | __print_symbolic(__entry->priority, kvm_trace_symbol_irqprio), | ||
214 | __entry->pending) | ||
172 | ); | 215 | ); |
173 | 216 | ||
174 | #endif | 217 | #endif |