2 #define TRACE_SYSTEM mce
4 #if !defined(_TRACE_MCE_H) || defined(TRACE_HEADER_MULTI_READ)
7 #include <linux/ktime.h>
8 #include <linux/tracepoint.h>
11 TRACE_EVENT(mce_record
,
13 TP_PROTO(struct mce
*m
),
18 __field( u64
, mcgcap
)
19 __field( u64
, mcgstatus
)
20 __field( u64
, status
)
27 __field( u64
, walltime
)
30 __field( u32
, apicid
)
31 __field( u32
, socketid
)
34 __field( u8
, cpuvendor
)
38 __entry
->mcgcap
= m
->mcgcap
;
39 __entry
->mcgstatus
= m
->mcgstatus
;
40 __entry
->status
= m
->status
;
41 __entry
->addr
= m
->addr
;
42 __entry
->misc
= m
->misc
;
43 __entry
->synd
= m
->synd
;
44 __entry
->ipid
= m
->ipid
;
46 __entry
->tsc
= m
->tsc
;
47 __entry
->walltime
= m
->time
;
48 __entry
->cpu
= m
->extcpu
;
49 __entry
->cpuid
= m
->cpuid
;
50 __entry
->apicid
= m
->apicid
;
51 __entry
->socketid
= m
->socketid
;
53 __entry
->bank
= m
->bank
;
54 __entry
->cpuvendor
= m
->cpuvendor
;
57 TP_printk("CPU: %d, MCGc/s: %llx/%llx, MC%d: %016Lx, IPID: %016Lx, ADDR/MISC/SYND: %016Lx/%016Lx/%016Lx, RIP: %02x:<%016Lx>, TSC: %llx, PROCESSOR: %u:%x, TIME: %llu, SOCKET: %u, APIC: %x",
59 __entry
->mcgcap
, __entry
->mcgstatus
,
60 __entry
->bank
, __entry
->status
,
62 __entry
->addr
, __entry
->misc
, __entry
->synd
,
63 __entry
->cs
, __entry
->ip
,
65 __entry
->cpuvendor
, __entry
->cpuid
,
71 #endif /* _TRACE_MCE_H */
73 /* This part must be outside protection */
74 #include <trace/define_trace.h>