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 9 #include <trace/hooks/vendor_hooks.h> 10 11 struct pt_regs; 12 DECLARE_RESTRICTED_HOOK(android_rvh_die_kernel_fault, 13 TP_PROTO(const char *msg, unsigned long addr, unsigned long esr, struct pt_regs *regs), 14 TP_ARGS(msg, addr, esr, regs), 1); 15 16 DECLARE_RESTRICTED_HOOK(android_rvh_do_sea, 17 TP_PROTO(unsigned long addr, unsigned long esr, struct pt_regs *regs), 18 TP_ARGS(addr, esr, regs), 1); 19 20 DECLARE_RESTRICTED_HOOK(android_rvh_do_sp_pc_abort, 21 TP_PROTO(unsigned long addr, unsigned long esr, struct pt_regs *regs), 22 TP_ARGS(addr, esr, regs), 23 TP_CONDITION(!user_mode(regs))); 24 25 DECLARE_HOOK(android_vh_try_fixup_sea, 26 TP_PROTO(unsigned long addr, unsigned long esr, struct pt_regs *regs, 27 bool *can_fixup), 28 TP_ARGS(addr, esr, regs, can_fixup)); 29 30 #endif /* _TRACE_HOOK_FAULT_H */ 31 /* This part must be outside protection */ 32 #include <trace/define_trace.h> 33