99#include <linux/tracepoint.h>
1010#include <asm/mce.h>
1111
12+ /*
13+ * MCE Event Record.
14+ *
15+ * Only very relevant and transient information which cannot be
16+ * gathered from a system by any other means or which can only be
17+ * acquired arduously should be added to this record.
18+ */
19+
1220TRACE_EVENT (mce_record ,
1321
1422 TP_PROTO (struct mce * m ),
@@ -25,6 +33,7 @@ TRACE_EVENT(mce_record,
2533 __field ( u64 , ipid )
2634 __field ( u64 , ip )
2735 __field ( u64 , tsc )
36+ __field ( u64 , ppin )
2837 __field ( u64 , walltime )
2938 __field ( u32 , cpu )
3039 __field ( u32 , cpuid )
@@ -33,6 +42,7 @@ TRACE_EVENT(mce_record,
3342 __field ( u8 , cs )
3443 __field ( u8 , bank )
3544 __field ( u8 , cpuvendor )
45+ __field ( u32 , microcode )
3646 ),
3747
3848 TP_fast_assign (
@@ -45,6 +55,7 @@ TRACE_EVENT(mce_record,
4555 __entry -> ipid = m -> ipid ;
4656 __entry -> ip = m -> ip ;
4757 __entry -> tsc = m -> tsc ;
58+ __entry -> ppin = m -> ppin ;
4859 __entry -> walltime = m -> time ;
4960 __entry -> cpu = m -> extcpu ;
5061 __entry -> cpuid = m -> cpuid ;
@@ -53,20 +64,26 @@ TRACE_EVENT(mce_record,
5364 __entry -> cs = m -> cs ;
5465 __entry -> bank = m -> bank ;
5566 __entry -> cpuvendor = m -> cpuvendor ;
67+ __entry -> microcode = m -> microcode ;
5668 ),
5769
58- 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" ,
70+ TP_printk ("CPU: %d, MCGc/s: %llx/%llx, MC%d: %016Lx, IPID: %016Lx, ADDR: %016Lx, MISC: %016Lx, SYND: %016Lx, RIP: %02x:<%016Lx>, TSC: %llx, PPIN : %llx, vendor: %u, CPUID: %x, time : %llu, socket : %u, APIC: %x, microcode : %x" ,
5971 __entry -> cpu ,
6072 __entry -> mcgcap , __entry -> mcgstatus ,
6173 __entry -> bank , __entry -> status ,
6274 __entry -> ipid ,
63- __entry -> addr , __entry -> misc , __entry -> synd ,
75+ __entry -> addr ,
76+ __entry -> misc ,
77+ __entry -> synd ,
6478 __entry -> cs , __entry -> ip ,
6579 __entry -> tsc ,
66- __entry -> cpuvendor , __entry -> cpuid ,
80+ __entry -> ppin ,
81+ __entry -> cpuvendor ,
82+ __entry -> cpuid ,
6783 __entry -> walltime ,
6884 __entry -> socketid ,
69- __entry -> apicid )
85+ __entry -> apicid ,
86+ __entry -> microcode )
7087);
7188
7289#endif /* _TRACE_MCE_H */
0 commit comments