at master 1.9 kB view raw
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 10int ras_userspace_consumers(void); 11void ras_debugfs_init(void); 12int ras_add_daemon_trace(void); 13#else 14static inline int ras_userspace_consumers(void) { return 0; } 15static inline void ras_debugfs_init(void) { } 16static inline int ras_add_daemon_trace(void) { return 0; } 17#endif 18 19#ifdef CONFIG_RAS_CEC 20int __init parse_cec_param(char *str); 21#endif 22 23#ifdef CONFIG_RAS 24void 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); 27void log_arm_hw_error(struct cper_sec_proc_arm *err, const u8 sev); 28#else 29static inline void 30log_non_standard_event(const guid_t *sec_type, 31 const guid_t *fru_id, const char *fru_text, 32 const u8 sev, const u8 *err, const u32 len) 33{ return; } 34static inline void 35log_arm_hw_error(struct cper_sec_proc_arm *err, const u8 sev) { return; } 36#endif 37 38struct atl_err { 39 u64 addr; 40 u64 ipid; 41 u32 cpu; 42}; 43 44#if IS_ENABLED(CONFIG_AMD_ATL) 45void amd_atl_register_decoder(unsigned long (*f)(struct atl_err *)); 46void amd_atl_unregister_decoder(void); 47void amd_retire_dram_row(struct atl_err *err); 48unsigned long amd_convert_umc_mca_addr_to_sys_addr(struct atl_err *err); 49#else 50static inline void amd_retire_dram_row(struct atl_err *err) { } 51static inline unsigned long 52amd_convert_umc_mca_addr_to_sys_addr(struct atl_err *err) { return -EINVAL; } 53#endif /* CONFIG_AMD_ATL */ 54 55#if defined(CONFIG_ARM) || defined(CONFIG_ARM64) 56#include <asm/smp_plat.h> 57/* 58 * Include ARM-specific SMP header which provides a function mapping mpidr to 59 * CPU logical index. 60 */ 61#define GET_LOGICAL_INDEX(mpidr) get_logical_index(mpidr & MPIDR_HWID_BITMASK) 62#else 63#define GET_LOGICAL_INDEX(mpidr) -EINVAL 64#endif /* CONFIG_ARM || CONFIG_ARM64 */ 65 66#endif /* __RAS_H__ */