aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ras/ras.c
diff options
context:
space:
mode:
authorTyler Baicar <tbaicar@codeaurora.org>2017-06-21 14:17:12 -0400
committerWill Deacon <will.deacon@arm.com>2017-06-22 13:22:04 -0400
commit297b64c74385fc7ea5dfff66105ab6465f2df49a (patch)
tree15a8b282ffd961212f834930c246cbdfa2b39f01 /drivers/ras/ras.c
parent0fc300f414519b10c146fc3329a1b3094e4b6d52 (diff)
ras: acpi / apei: generate trace event for unrecognized CPER section
The UEFI spec includes non-standard section type support in the Common Platform Error Record. This is defined in section N.2.3 of UEFI version 2.5. Currently if the CPER section's type (UUID) does not match any section type that the kernel knows how to parse, a trace event is not generated. Generate a trace event which contains the raw error data for non-standard section type error records. Signed-off-by: Tyler Baicar <tbaicar@codeaurora.org> CC: Jonathan (Zhixiong) Zhang <zjzhang@codeaurora.org> Tested-by: Shiju Jose <shiju.jose@huawei.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'drivers/ras/ras.c')
-rw-r--r--drivers/ras/ras.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/ras/ras.c b/drivers/ras/ras.c
index 94f8038864b4..e87fd9e32ee2 100644
--- a/drivers/ras/ras.c
+++ b/drivers/ras/ras.c
@@ -7,11 +7,19 @@
7 7
8#include <linux/init.h> 8#include <linux/init.h>
9#include <linux/ras.h> 9#include <linux/ras.h>
10#include <linux/uuid.h>
10 11
11#define CREATE_TRACE_POINTS 12#define CREATE_TRACE_POINTS
12#define TRACE_INCLUDE_PATH ../../include/ras 13#define TRACE_INCLUDE_PATH ../../include/ras
13#include <ras/ras_event.h> 14#include <ras/ras_event.h>
14 15
16void log_non_standard_event(const uuid_le *sec_type, const uuid_le *fru_id,
17 const char *fru_text, const u8 sev, const u8 *err,
18 const u32 len)
19{
20 trace_non_standard_event(sec_type, fru_id, fru_text, sev, err, len);
21}
22
15static int __init ras_init(void) 23static int __init ras_init(void)
16{ 24{
17 int rc = 0; 25 int rc = 0;
@@ -27,7 +35,7 @@ subsys_initcall(ras_init);
27EXPORT_TRACEPOINT_SYMBOL_GPL(extlog_mem_event); 35EXPORT_TRACEPOINT_SYMBOL_GPL(extlog_mem_event);
28#endif 36#endif
29EXPORT_TRACEPOINT_SYMBOL_GPL(mc_event); 37EXPORT_TRACEPOINT_SYMBOL_GPL(mc_event);
30 38EXPORT_TRACEPOINT_SYMBOL_GPL(non_standard_event);
31 39
32int __init parse_ras_param(char *str) 40int __init parse_ras_param(char *str)
33{ 41{