• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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