1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef __RAS_H__ 3 #define __RAS_H__ 4 5 #include <asm/errno.h> 6 #include <linux/uuid.h> 7 #include <linux/cper.h> 8 9 #ifdef CONFIG_DEBUG_FS 10 int ras_userspace_consumers(void); 11 void ras_debugfs_init(void); 12 int ras_add_daemon_trace(void); 13 #else 14 static inline int ras_userspace_consumers(void) { return 0; } 15 static inline void ras_debugfs_init(void) { } 16 static inline int ras_add_daemon_trace(void) { return 0; } 17 #endif 18 19 #ifdef CONFIG_RAS_CEC 20 int __init parse_cec_param(char *str); 21 #endif 22 23 #ifdef CONFIG_RAS 24 void log_non_standard_event(const guid_t *sec_type, 25 const guid_t *fru_id, const char *fru_text, 26 const u8 sev, const u8 *err, const u32 len); 27 void log_arm_hw_error(struct cper_sec_proc_arm *err); 28 29 #else 30 static inline void 31 log_non_standard_event(const guid_t *sec_type, 32 const guid_t *fru_id, const char *fru_text, 33 const u8 sev, const u8 *err, const u32 len) 34 { return; } 35 static inline void 36 log_arm_hw_error(struct cper_sec_proc_arm *err) { return; } 37 #endif 38 39 struct atl_err { 40 u64 addr; 41 u64 ipid; 42 u32 cpu; 43 }; 44 45 #if IS_ENABLED(CONFIG_AMD_ATL) 46 void amd_atl_register_decoder(unsigned long (*f)(struct atl_err *)); 47 void amd_atl_unregister_decoder(void); 48 void amd_retire_dram_row(struct atl_err *err); 49 unsigned long amd_convert_umc_mca_addr_to_sys_addr(struct atl_err *err); 50 #else 51 static inline void amd_retire_dram_row(struct atl_err *err) { } 52 static inline unsigned long 53 amd_convert_umc_mca_addr_to_sys_addr(struct atl_err *err) { return -EINVAL; } 54 #endif /* CONFIG_AMD_ATL */ 55 56 #endif /* __RAS_H__ */ 57
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.