mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-12 05:48:40 +00:00
![Tyler Baicar](/assets/img/avatar_default.png)
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>
37 lines
1,011 B
C
37 lines
1,011 B
C
#ifndef __RAS_H__
|
|
#define __RAS_H__
|
|
|
|
#include <asm/errno.h>
|
|
#include <linux/uuid.h>
|
|
|
|
#ifdef CONFIG_DEBUG_FS
|
|
int ras_userspace_consumers(void);
|
|
void ras_debugfs_init(void);
|
|
int ras_add_daemon_trace(void);
|
|
#else
|
|
static inline int ras_userspace_consumers(void) { return 0; }
|
|
static inline void ras_debugfs_init(void) { }
|
|
static inline int ras_add_daemon_trace(void) { return 0; }
|
|
#endif
|
|
|
|
#ifdef CONFIG_RAS_CEC
|
|
void __init cec_init(void);
|
|
int __init parse_cec_param(char *str);
|
|
int cec_add_elem(u64 pfn);
|
|
#else
|
|
static inline void __init cec_init(void) { }
|
|
static inline int cec_add_elem(u64 pfn) { return -ENODEV; }
|
|
#endif
|
|
|
|
#ifdef CONFIG_RAS
|
|
void log_non_standard_event(const guid_t *sec_type,
|
|
const guid_t *fru_id, const char *fru_text,
|
|
const u8 sev, const u8 *err, const u32 len);
|
|
#else
|
|
static void log_non_standard_event(const guid_t *sec_type,
|
|
const guid_t *fru_id, const char *fru_text,
|
|
const u8 sev, const u8 *err,
|
|
const u32 len) { return; }
|
|
#endif
|
|
|
|
#endif /* __RAS_H__ */
|