brintos

brintos / linux-shallow public Read only

0
0
Text · 2.3 KiB · f0f7b3c Raw
93 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2#undef TRACE_SYSTEM3#define TRACE_SYSTEM mce4 5#if !defined(_TRACE_MCE_H) || defined(TRACE_HEADER_MULTI_READ)6#define _TRACE_MCE_H7 8#include <linux/ktime.h>9#include <linux/tracepoint.h>10#include <asm/mce.h>11 12/*13 * MCE Event Record.14 *15 * Only very relevant and transient information which cannot be16 * gathered from a system by any other means or which can only be17 * acquired arduously should be added to this record.18 */19 20TRACE_EVENT(mce_record,21 22	TP_PROTO(struct mce *m),23 24	TP_ARGS(m),25 26	TP_STRUCT__entry(27		__field(	u64,		mcgcap		)28		__field(	u64,		mcgstatus	)29		__field(	u64,		status		)30		__field(	u64,		addr		)31		__field(	u64,		misc		)32		__field(	u64,		synd		)33		__field(	u64,		ipid		)34		__field(	u64,		ip		)35		__field(	u64,		tsc		)36		__field(	u64,		ppin		)37		__field(	u64,		walltime	)38		__field(	u32,		cpu		)39		__field(	u32,		cpuid		)40		__field(	u32,		apicid		)41		__field(	u32,		socketid	)42		__field(	u8,		cs		)43		__field(	u8,		bank		)44		__field(	u8,		cpuvendor	)45		__field(	u32,		microcode	)46	),47 48	TP_fast_assign(49		__entry->mcgcap		= m->mcgcap;50		__entry->mcgstatus	= m->mcgstatus;51		__entry->status		= m->status;52		__entry->addr		= m->addr;53		__entry->misc		= m->misc;54		__entry->synd		= m->synd;55		__entry->ipid		= m->ipid;56		__entry->ip		= m->ip;57		__entry->tsc		= m->tsc;58		__entry->ppin		= m->ppin;59		__entry->walltime	= m->time;60		__entry->cpu		= m->extcpu;61		__entry->cpuid		= m->cpuid;62		__entry->apicid		= m->apicid;63		__entry->socketid	= m->socketid;64		__entry->cs		= m->cs;65		__entry->bank		= m->bank;66		__entry->cpuvendor	= m->cpuvendor;67		__entry->microcode	= m->microcode;68	),69 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",71		__entry->cpu,72		__entry->mcgcap, __entry->mcgstatus,73		__entry->bank, __entry->status,74		__entry->ipid,75		__entry->addr,76		__entry->misc,77		__entry->synd,78		__entry->cs, __entry->ip,79		__entry->tsc,80		__entry->ppin,81		__entry->cpuvendor,82		__entry->cpuid,83		__entry->walltime,84		__entry->socketid,85		__entry->apicid,86		__entry->microcode)87);88 89#endif /* _TRACE_MCE_H */90 91/* This part must be outside protection */92#include <trace/define_trace.h>93