1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #undef TRACE_SYSTEM 3 #define TRACE_SYSTEM fault 4 #define TRACE_INCLUDE_PATH trace/hooks 5 6 #if !defined(_TRACE_HOOK_FAULT_H) || defined(TRACE_HEADER_MULTI_READ) 7 #define _TRACE_HOOK_FAULT_H 8 #include <trace/hooks/vendor_hooks.h> 9 /* 10 * Following tracepoints are not exported in tracefs and provide a 11 * mechanism for vendor modules to hook and extend functionality 12 */ 13 struct pt_regs; 14 15 DECLARE_RESTRICTED_HOOK(android_rvh_die_kernel_fault, 16 TP_PROTO(struct pt_regs *regs, unsigned int esr, unsigned long addr, const char *msg), 17 TP_ARGS(regs, esr, addr, msg), 1); 18 19 DECLARE_RESTRICTED_HOOK(android_rvh_do_sea, 20 TP_PROTO(struct pt_regs *regs, unsigned int esr, unsigned long addr, const char *msg), 21 TP_ARGS(regs, esr, addr, msg), 1); 22 23 DECLARE_RESTRICTED_HOOK(android_rvh_do_mem_abort, 24 TP_PROTO(struct pt_regs *regs, unsigned int esr, unsigned long addr, const char *msg), 25 TP_ARGS(regs, esr, addr, msg), 1); 26 27 DECLARE_RESTRICTED_HOOK(android_rvh_do_sp_pc_abort, 28 TP_PROTO(struct pt_regs *regs, unsigned int esr, unsigned long addr, bool user), 29 TP_ARGS(regs, esr, addr, user), 30 TP_CONDITION(!user)); 31 32 /* macro versions of hooks are no longer required */ 33 34 #endif /* _TRACE_HOOK_FAULT_H */ 35 /* This part must be outside protection */ 36 #include <trace/define_trace.h> 37