• 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 #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