| Hidetoshi Seto | 8968f9d | 2009-10-13 16:19:41 +0900 | [diff] [blame] | 1 | #undef TRACE_SYSTEM | 
|  | 2 | #define TRACE_SYSTEM mce | 
|  | 3 |  | 
|  | 4 | #if !defined(_TRACE_MCE_H) || defined(TRACE_HEADER_MULTI_READ) | 
|  | 5 | #define _TRACE_MCE_H | 
|  | 6 |  | 
|  | 7 | #include <linux/ktime.h> | 
|  | 8 | #include <linux/tracepoint.h> | 
|  | 9 | #include <asm/mce.h> | 
|  | 10 |  | 
|  | 11 | TRACE_EVENT(mce_record, | 
|  | 12 |  | 
|  | 13 | TP_PROTO(struct mce *m), | 
|  | 14 |  | 
|  | 15 | TP_ARGS(m), | 
|  | 16 |  | 
|  | 17 | TP_STRUCT__entry( | 
|  | 18 | __field(	u64,		mcgcap		) | 
|  | 19 | __field(	u64,		mcgstatus	) | 
|  | 20 | __field(	u8,		bank		) | 
|  | 21 | __field(	u64,		status		) | 
|  | 22 | __field(	u64,		addr		) | 
|  | 23 | __field(	u64,		misc		) | 
|  | 24 | __field(	u64,		ip		) | 
|  | 25 | __field(	u8,		cs		) | 
|  | 26 | __field(	u64,		tsc		) | 
|  | 27 | __field(	u64,		walltime	) | 
|  | 28 | __field(	u32,		cpu		) | 
|  | 29 | __field(	u32,		cpuid		) | 
|  | 30 | __field(	u32,		apicid		) | 
|  | 31 | __field(	u32,		socketid	) | 
|  | 32 | __field(	u8,		cpuvendor	) | 
|  | 33 | ), | 
|  | 34 |  | 
|  | 35 | TP_fast_assign( | 
|  | 36 | __entry->mcgcap		= m->mcgcap; | 
|  | 37 | __entry->mcgstatus	= m->mcgstatus; | 
|  | 38 | __entry->bank		= m->bank; | 
|  | 39 | __entry->status		= m->status; | 
|  | 40 | __entry->addr		= m->addr; | 
|  | 41 | __entry->misc		= m->misc; | 
|  | 42 | __entry->ip		= m->ip; | 
|  | 43 | __entry->cs		= m->cs; | 
|  | 44 | __entry->tsc		= m->tsc; | 
|  | 45 | __entry->walltime	= m->time; | 
|  | 46 | __entry->cpu		= m->extcpu; | 
|  | 47 | __entry->cpuid		= m->cpuid; | 
|  | 48 | __entry->apicid		= m->apicid; | 
|  | 49 | __entry->socketid	= m->socketid; | 
|  | 50 | __entry->cpuvendor	= m->cpuvendor; | 
|  | 51 | ), | 
|  | 52 |  | 
|  | 53 | TP_printk("CPU: %d, MCGc/s: %llx/%llx, MC%d: %016Lx, ADDR/MISC: %016Lx/%016Lx, RIP: %02x:<%016Lx>, TSC: %llx, PROCESSOR: %u:%x, TIME: %llu, SOCKET: %u, APIC: %x", | 
|  | 54 | __entry->cpu, | 
|  | 55 | __entry->mcgcap, __entry->mcgstatus, | 
|  | 56 | __entry->bank, __entry->status, | 
|  | 57 | __entry->addr, __entry->misc, | 
|  | 58 | __entry->cs, __entry->ip, | 
|  | 59 | __entry->tsc, | 
|  | 60 | __entry->cpuvendor, __entry->cpuid, | 
|  | 61 | __entry->walltime, | 
|  | 62 | __entry->socketid, | 
|  | 63 | __entry->apicid) | 
|  | 64 | ); | 
|  | 65 |  | 
|  | 66 | #endif /* _TRACE_MCE_H */ | 
|  | 67 |  | 
|  | 68 | /* This part must be outside protection */ | 
|  | 69 | #include <trace/define_trace.h> |