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 #ifdef __GENKSYMS__ 11 #include <asm/ptrace.h> 12 #endif 13 14 struct pt_regs; 15 16 DECLARE_RESTRICTED_HOOK(android_rvh_die_kernel_fault, 17 TP_PROTO(const char *msg, unsigned long addr, unsigned int esr, struct pt_regs *regs), 18 TP_ARGS(msg, addr, esr, regs), 1); 19 20 DECLARE_RESTRICTED_HOOK(android_rvh_do_sea, 21 TP_PROTO(unsigned long addr, unsigned int esr, struct pt_regs *regs), 22 TP_ARGS(addr, esr, regs), 1); 23 24 DECLARE_RESTRICTED_HOOK(android_rvh_do_mem_abort, 25 TP_PROTO(unsigned long addr, unsigned int esr, struct pt_regs *regs), 26 TP_ARGS(addr, esr, regs), 1); 27 28 DECLARE_RESTRICTED_HOOK(android_rvh_do_sp_pc_abort, 29 TP_PROTO(unsigned long addr, unsigned int esr, struct pt_regs *regs), 30 TP_ARGS(addr, esr, regs), 31 TP_CONDITION(!user_mode(regs))); 32 33 DECLARE_HOOK(android_vh_handle_tlb_conf, 34 TP_PROTO(unsigned long addr, unsigned int esr, int *ret), 35 TP_ARGS(addr, esr, ret)); 36 37 DECLARE_HOOK(android_vh_try_fixup_sea, 38 TP_PROTO(unsigned long addr, unsigned long esr, struct pt_regs *regs, 39 bool *can_fixup), 40 TP_ARGS(addr, esr, regs, can_fixup)); 41 42 #endif /* _TRACE_HOOK_FAULT_H */ 43 /* This part must be outside protection */ 44 #include <trace/define_trace.h> 45