diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-08-04 20:21:59 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-08-04 20:21:59 -0400 |
| commit | d782cebd6b39b4caab8a913180c0acfd6c33e9c2 (patch) | |
| tree | e8ed959e9475f57bf7f2a0753e5a0f7cf04c8f75 /include/trace | |
| parent | 8556d44fee6ded9f4287d7ff7b5cc9d8635b0be0 (diff) | |
| parent | c3107e3c504d3187ed8eac8179494946faff1481 (diff) | |
Merge branch 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull RAS updates from Ingo Molnar:
"The main changes in this cycle are:
- RAS tracing/events infrastructure, by Gong Chen.
- Various generalizations of the APEI code to make it available to
non-x86 architectures, by Tomasz Nowicki"
* 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/ras: Fix build warnings in <linux/aer.h>
acpi, apei, ghes: Factor out ioremap virtual memory for IRQ and NMI context.
acpi, apei, ghes: Make NMI error notification to be GHES architecture extension.
apei, mce: Factor out APEI architecture specific MCE calls.
RAS, extlog: Adjust init flow
trace, eMCA: Add a knob to adjust where to save event log
trace, RAS: Add eMCA trace event interface
RAS, debugfs: Add debugfs interface for RAS subsystem
CPER: Adjust code flow of some functions
x86, MCE: Robustify mcheck_init_device
trace, AER: Move trace into unified interface
trace, RAS: Add basic RAS trace event
x86, MCE: Kill CPU_POST_DEAD
Diffstat (limited to 'include/trace')
| -rw-r--r-- | include/trace/events/ras.h | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/include/trace/events/ras.h b/include/trace/events/ras.h deleted file mode 100644 index 1c875ad1ee5f..000000000000 --- a/include/trace/events/ras.h +++ /dev/null | |||
| @@ -1,77 +0,0 @@ | |||
| 1 | #undef TRACE_SYSTEM | ||
| 2 | #define TRACE_SYSTEM ras | ||
| 3 | |||
| 4 | #if !defined(_TRACE_AER_H) || defined(TRACE_HEADER_MULTI_READ) | ||
| 5 | #define _TRACE_AER_H | ||
| 6 | |||
| 7 | #include <linux/tracepoint.h> | ||
| 8 | #include <linux/aer.h> | ||
| 9 | |||
| 10 | |||
| 11 | /* | ||
| 12 | * PCIe AER Trace event | ||
| 13 | * | ||
| 14 | * These events are generated when hardware detects a corrected or | ||
| 15 | * uncorrected event on a PCIe device. The event report has | ||
| 16 | * the following structure: | ||
| 17 | * | ||
| 18 | * char * dev_name - The name of the slot where the device resides | ||
| 19 | * ([domain:]bus:device.function). | ||
| 20 | * u32 status - Either the correctable or uncorrectable register | ||
| 21 | * indicating what error or errors have been seen | ||
| 22 | * u8 severity - error severity 0:NONFATAL 1:FATAL 2:CORRECTED | ||
| 23 | */ | ||
| 24 | |||
| 25 | #define aer_correctable_errors \ | ||
| 26 | {BIT(0), "Receiver Error"}, \ | ||
| 27 | {BIT(6), "Bad TLP"}, \ | ||
| 28 | {BIT(7), "Bad DLLP"}, \ | ||
| 29 | {BIT(8), "RELAY_NUM Rollover"}, \ | ||
| 30 | {BIT(12), "Replay Timer Timeout"}, \ | ||
| 31 | {BIT(13), "Advisory Non-Fatal"} | ||
| 32 | |||
| 33 | #define aer_uncorrectable_errors \ | ||
| 34 | {BIT(4), "Data Link Protocol"}, \ | ||
| 35 | {BIT(12), "Poisoned TLP"}, \ | ||
| 36 | {BIT(13), "Flow Control Protocol"}, \ | ||
| 37 | {BIT(14), "Completion Timeout"}, \ | ||
| 38 | {BIT(15), "Completer Abort"}, \ | ||
| 39 | {BIT(16), "Unexpected Completion"}, \ | ||
| 40 | {BIT(17), "Receiver Overflow"}, \ | ||
| 41 | {BIT(18), "Malformed TLP"}, \ | ||
| 42 | {BIT(19), "ECRC"}, \ | ||
| 43 | {BIT(20), "Unsupported Request"} | ||
| 44 | |||
| 45 | TRACE_EVENT(aer_event, | ||
| 46 | TP_PROTO(const char *dev_name, | ||
| 47 | const u32 status, | ||
| 48 | const u8 severity), | ||
| 49 | |||
| 50 | TP_ARGS(dev_name, status, severity), | ||
| 51 | |||
| 52 | TP_STRUCT__entry( | ||
| 53 | __string( dev_name, dev_name ) | ||
| 54 | __field( u32, status ) | ||
| 55 | __field( u8, severity ) | ||
| 56 | ), | ||
| 57 | |||
| 58 | TP_fast_assign( | ||
| 59 | __assign_str(dev_name, dev_name); | ||
| 60 | __entry->status = status; | ||
| 61 | __entry->severity = severity; | ||
| 62 | ), | ||
| 63 | |||
| 64 | TP_printk("%s PCIe Bus Error: severity=%s, %s\n", | ||
| 65 | __get_str(dev_name), | ||
| 66 | __entry->severity == AER_CORRECTABLE ? "Corrected" : | ||
| 67 | __entry->severity == AER_FATAL ? | ||
| 68 | "Fatal" : "Uncorrected, non-fatal", | ||
| 69 | __entry->severity == AER_CORRECTABLE ? | ||
| 70 | __print_flags(__entry->status, "|", aer_correctable_errors) : | ||
| 71 | __print_flags(__entry->status, "|", aer_uncorrectable_errors)) | ||
| 72 | ); | ||
| 73 | |||
| 74 | #endif /* _TRACE_AER_H */ | ||
| 75 | |||
| 76 | /* This part must be outside protection */ | ||
| 77 | #include <trace/define_trace.h> | ||
