| /linux-6.15/arch/arm64/include/asm/ |
| H A D | ftrace.h | 63 #define arch_ftrace_regs(fregs) ((struct __arch_ftrace_regs *)(fregs)) argument 91 return arch_ftrace_regs(fregs)->pc; in ftrace_regs_get_instruction_pointer() 98 arch_ftrace_regs(fregs)->pc = pc; in ftrace_regs_set_instruction_pointer() 104 return arch_ftrace_regs(fregs)->sp; in ftrace_regs_get_stack_pointer() 111 return arch_ftrace_regs(fregs)->regs[n]; in ftrace_regs_get_argument() 118 return arch_ftrace_regs(fregs)->regs[0]; in ftrace_regs_get_return_value() 125 arch_ftrace_regs(fregs)->regs[0] = ret; in ftrace_regs_set_return_value() 131 arch_ftrace_regs(fregs)->pc = arch_ftrace_regs(fregs)->lr; in ftrace_override_function_with_return() 137 return arch_ftrace_regs(fregs)->fp; in ftrace_regs_get_frame_pointer() 143 return arch_ftrace_regs(fregs)->lr; in ftrace_regs_get_return_address() [all …]
|
| /linux-6.15/include/linux/ |
| H A D | ftrace_regs.h | 15 #define arch_ftrace_regs(fregs) ((struct __arch_ftrace_regs *)(fregs)) argument 19 #define ftrace_regs_get_instruction_pointer(fregs) \ argument 20 instruction_pointer(&arch_ftrace_regs(fregs)->regs) 21 #define ftrace_regs_get_argument(fregs, n) \ argument 23 #define ftrace_regs_get_stack_pointer(fregs) \ argument 24 kernel_stack_pointer(&arch_ftrace_regs(fregs)->regs) 25 #define ftrace_regs_get_return_value(fregs) \ argument 26 regs_return_value(&arch_ftrace_regs(fregs)->regs) 27 #define ftrace_regs_set_return_value(fregs, ret) \ argument 33 #define ftrace_regs_get_frame_pointer(fregs) \ argument [all …]
|
| H A D | ftrace.h | 67 struct ftrace_ops *op, struct ftrace_regs *fregs); 168 return &arch_ftrace_regs(fregs)->regs; in arch_ftrace_get_regs() 187 if (!fregs) in ftrace_get_regs() 190 return arch_ftrace_get_regs(fregs); in ftrace_get_regs() 205 return &arch_ftrace_regs(fregs)->regs; in ftrace_partial_regs() 227 arch_ftrace_fill_perf_regs(fregs, regs); in ftrace_fill_perf_regs() 236 return &arch_ftrace_regs(fregs)->regs; in ftrace_fill_perf_regs() 250 return ftrace_get_regs(fregs) != NULL; in ftrace_regs_has_args() 493 struct ftrace_ops *op, struct ftrace_regs *fregs); 1168 struct ftrace_regs *fregs); [all …]
|
| /linux-6.15/arch/riscv/include/asm/ |
| H A D | ftrace.h | 130 #define arch_ftrace_regs(fregs) ((struct __arch_ftrace_regs *)(fregs)) argument 154 *fregs) in ftrace_regs_get_instruction_pointer() 156 return arch_ftrace_regs(fregs)->epc; in ftrace_regs_get_instruction_pointer() 162 arch_ftrace_regs(fregs)->epc = pc; in ftrace_regs_set_instruction_pointer() 167 return arch_ftrace_regs(fregs)->sp; in ftrace_regs_get_stack_pointer() 172 return arch_ftrace_regs(fregs)->s0; in ftrace_regs_get_frame_pointer() 185 return arch_ftrace_regs(fregs)->a0; in ftrace_regs_get_return_value() 190 return arch_ftrace_regs(fregs)->ra; in ftrace_regs_get_return_address() 196 arch_ftrace_regs(fregs)->a0 = ret; in ftrace_regs_set_return_value() 201 arch_ftrace_regs(fregs)->epc = arch_ftrace_regs(fregs)->ra; in ftrace_override_function_with_return() [all …]
|
| /linux-6.15/arch/sh/math-emu/ |
| H A D | math.c | 28 #define FPUL (fregs->fpul) 29 #define FPSCR (fregs->fpscr) 38 #define FR ((unsigned long*)(fregs->fp_regs)) 42 #define DR ((unsigned long long*)(fregs->fp_regs)) 408 fxchg(fregs, flag[x >> 2]); in id_fxfd() 411 ftrv(fregs, x - 1); in id_fxfd() 414 fsca(fregs, x); in id_fxfd() 422 return (fnxd[x])(fregs, n); in id_fnxd() 429 return (fnmx[x])(fregs, regs, m, n); in id_fnmx() 467 return id_fnmx(fregs, regs, code); in fpu_emulate() [all …]
|
| /linux-6.15/arch/s390/include/asm/ |
| H A D | ftrace.h | 60 struct pt_regs *regs = &arch_ftrace_regs(fregs)->regs; in arch_ftrace_get_regs() 68 ftrace_regs_set_instruction_pointer(struct ftrace_regs *fregs, in ftrace_regs_set_instruction_pointer() argument 71 arch_ftrace_regs(fregs)->regs.psw.addr = ip; in ftrace_regs_set_instruction_pointer() 76 ftrace_regs_get_frame_pointer(struct ftrace_regs *fregs) in ftrace_regs_get_frame_pointer() argument 78 return ftrace_regs_get_stack_pointer(fregs); in ftrace_regs_get_frame_pointer() 82 ftrace_regs_get_return_address(const struct ftrace_regs *fregs) in ftrace_regs_get_return_address() argument 84 return arch_ftrace_regs(fregs)->regs.gprs[14]; in ftrace_regs_get_return_address() 87 #define arch_ftrace_fill_perf_regs(fregs, _regs) do { \ argument 89 (_regs)->psw.addr = arch_ftrace_regs(fregs)->regs.psw.addr; \ 103 struct pt_regs *regs = &arch_ftrace_regs(fregs)->regs; in arch_ftrace_set_direct_caller() [all …]
|
| /linux-6.15/arch/loongarch/include/asm/ |
| H A D | ftrace.h | 49 static __always_inline struct pt_regs *arch_ftrace_get_regs(struct ftrace_regs *fregs) in arch_ftrace_get_regs() argument 51 return &arch_ftrace_regs(fregs)->regs; in arch_ftrace_get_regs() 55 ftrace_regs_set_instruction_pointer(struct ftrace_regs *fregs, unsigned long ip) in ftrace_regs_set_instruction_pointer() argument 57 instruction_pointer_set(&arch_ftrace_regs(fregs)->regs, ip); in ftrace_regs_set_instruction_pointer() 61 #define ftrace_regs_get_frame_pointer(fregs) \ argument 62 (arch_ftrace_regs(fregs)->regs.regs[22]) 65 ftrace_regs_get_return_address(struct ftrace_regs *fregs) in ftrace_regs_get_return_address() argument 67 return *(unsigned long *)(arch_ftrace_regs(fregs)->regs.regs[1]); in ftrace_regs_get_return_address() 72 struct ftrace_ops *op, struct ftrace_regs *fregs); 81 #define arch_ftrace_set_direct_caller(fregs, addr) \ argument [all …]
|
| /linux-6.15/arch/x86/include/asm/ |
| H A D | ftrace.h | 51 arch_ftrace_get_regs(struct ftrace_regs *fregs) in arch_ftrace_get_regs() argument 54 if (!arch_ftrace_regs(fregs)->regs.cs) in arch_ftrace_get_regs() 56 return &arch_ftrace_regs(fregs)->regs; in arch_ftrace_get_regs() 59 #define arch_ftrace_fill_perf_regs(fregs, _regs) do { \ argument 60 (_regs)->ip = arch_ftrace_regs(fregs)->regs.ip; \ 61 (_regs)->sp = arch_ftrace_regs(fregs)->regs.sp; \ 66 #define ftrace_regs_set_instruction_pointer(fregs, _ip) \ argument 67 do { arch_ftrace_regs(fregs)->regs.ip = (_ip); } while (0) 71 ftrace_regs_get_return_address(struct ftrace_regs *fregs) in ftrace_regs_get_return_address() argument 79 struct ftrace_ops *op, struct ftrace_regs *fregs); [all …]
|
| /linux-6.15/arch/powerpc/include/asm/ |
| H A D | ftrace.h | 40 static __always_inline struct pt_regs *arch_ftrace_get_regs(struct ftrace_regs *fregs) in arch_ftrace_get_regs() argument 43 return arch_ftrace_regs(fregs)->regs.msr ? &arch_ftrace_regs(fregs)->regs : NULL; in arch_ftrace_get_regs() 46 #define arch_ftrace_fill_perf_regs(fregs, _regs) do { \ argument 48 (_regs)->nip = arch_ftrace_regs(fregs)->regs.nip; \ 49 (_regs)->gpr[1] = arch_ftrace_regs(fregs)->regs.gpr[1]; \ 54 ftrace_regs_set_instruction_pointer(struct ftrace_regs *fregs, in ftrace_regs_set_instruction_pointer() argument 57 regs_set_return_ip(&arch_ftrace_regs(fregs)->regs, ip); in ftrace_regs_set_instruction_pointer() 61 ftrace_regs_get_return_address(struct ftrace_regs *fregs) in ftrace_regs_get_return_address() argument 63 return arch_ftrace_regs(fregs)->regs.link; in ftrace_regs_get_return_address() 70 struct ftrace_ops *op, struct ftrace_regs *fregs); [all …]
|
| /linux-6.15/kernel/trace/ |
| H A D | trace_fprobe.c | 137 struct ftrace_regs *fregs = rec; in process_fetch_insn() local 148 val = ftrace_regs_get_stack_pointer(fregs); in process_fetch_insn() 151 val = ftrace_regs_get_return_value(fregs); in process_fetch_insn() 178 struct ftrace_regs *fregs, in NOKPROBE_SYMBOL() 199 fbuffer.regs = ftrace_get_regs(fregs); in NOKPROBE_SYMBOL() 209 struct ftrace_regs *fregs) in fentry_trace_func() argument 285 fbuffer.regs = ftrace_get_regs(fregs); in NOKPROBE_SYMBOL() 308 struct ftrace_regs *fregs) in fentry_perf_func() argument 330 regs = ftrace_fill_perf_regs(fregs, regs); in fentry_perf_func() 366 regs = ftrace_fill_perf_regs(fregs, regs); in fexit_perf_func() [all …]
|
| H A D | trace_functions.c | 26 struct ftrace_ops *op, struct ftrace_regs *fregs); 29 struct ftrace_ops *op, struct ftrace_regs *fregs); 32 struct ftrace_ops *op, struct ftrace_regs *fregs); 35 struct ftrace_ops *op, struct ftrace_regs *fregs); 39 struct ftrace_regs *fregs); 209 struct ftrace_ops *op, struct ftrace_regs *fregs) in function_trace_call() argument 236 struct ftrace_ops *op, struct ftrace_regs *fregs) in function_args_trace_call() argument 256 trace_function(tr, ip, parent_ip, trace_ctx, fregs); in function_args_trace_call() 281 struct ftrace_ops *op, struct ftrace_regs *fregs) in function_stack_trace_call() argument 351 struct ftrace_regs *fregs) in function_no_repeats_trace_call() argument [all …]
|
| H A D | fgraph.c | 296 struct ftrace_regs *fregs) in entry_run() argument 303 struct ftrace_regs *fregs) in return_run() argument 526 struct ftrace_regs *fregs) in ftrace_graph_entry_stub() argument 533 struct ftrace_regs *fregs) in ftrace_graph_ret_stub() argument 653 struct ftrace_regs *fregs) in function_graph_enter_regs() argument 829 if (fregs) in __ftrace_return_to_handler() 851 gops->retfunc(&trace, gops, fregs); in __ftrace_return_to_handler() 874 return __ftrace_return_to_handler(fregs, in ftrace_return_to_handler() 875 ftrace_regs_get_frame_pointer(fregs)); in ftrace_return_to_handler() 1024 struct ftrace_regs *fregs); [all …]
|
| H A D | fprobe.c | 218 struct fprobe *fp, struct ftrace_regs *fregs, in __fprobe_handler() argument 224 return fp->entry_handler(fp, ip, parent_ip, fregs, data); in __fprobe_handler() 228 struct fprobe *fp, struct ftrace_regs *fregs, in __fprobe_kprobe_handler() argument 244 ret = __fprobe_handler(ip, parent_ip, fp, fregs, data); in __fprobe_kprobe_handler() 250 struct ftrace_regs *fregs) in fprobe_entry() argument 260 if (WARN_ON_ONCE(!fregs)) in fprobe_entry() 300 ret_ip = ftrace_regs_get_return_address(fregs); in fprobe_entry() 321 ret = __fprobe_handler(func, ret_ip, fp, fregs, data); in fprobe_entry() 341 struct ftrace_regs *fregs) in fprobe_return() argument 353 ret_ip = ftrace_regs_get_instruction_pointer(fregs); in fprobe_return() [all …]
|
| H A D | trace_selftest.c | 111 struct ftrace_regs *fregs) in trace_selftest_test_probe1_func() argument 120 struct ftrace_regs *fregs) in trace_selftest_test_probe2_func() argument 129 struct ftrace_regs *fregs) in trace_selftest_test_probe3_func() argument 138 struct ftrace_regs *fregs) in trace_selftest_test_global_func() argument 147 struct ftrace_regs *fregs) in trace_selftest_test_dyn_func() argument 452 struct ftrace_regs *fregs) in trace_selftest_test_recursion_func() argument 467 struct ftrace_regs *fregs) in trace_selftest_test_recursion_safe_func() argument 586 struct ftrace_regs *fregs) in trace_selftest_test_regs_func() argument 778 struct ftrace_regs *fregs) in store_entry() argument 812 struct ftrace_regs *fregs) in store_return() argument [all …]
|
| /linux-6.15/arch/mips/kernel/ |
| H A D | ptrace32.c | 95 union fpureg *fregs; in compat_arch_ptrace() local 102 fregs = get_fpu_regs(child); in compat_arch_ptrace() 109 tmp = get_fpr32(&fregs[(addr & ~1) - FPR_BASE], in compat_arch_ptrace() 113 tmp = get_fpr64(&fregs[addr - FPR_BASE], 0); in compat_arch_ptrace() 211 union fpureg *fregs = get_fpu_regs(child); in compat_arch_ptrace() local 225 set_fpr32(&fregs[(addr & ~1) - FPR_BASE], in compat_arch_ptrace() 229 set_fpr64(&fregs[addr - FPR_BASE], 0, data); in compat_arch_ptrace()
|
| H A D | ptrace.c | 367 union fpureg *fregs = get_fpu_regs(child); in ptrace_getfpregs() local 369 __put_user(get_fpr64(&fregs[i], 0), in ptrace_getfpregs() 384 union fpureg *fregs; in ptrace_setfpregs() local 393 fregs = get_fpu_regs(child); in ptrace_setfpregs() 397 set_fpr64(&fregs[i], 0, fpr_val); in ptrace_setfpregs() 1111 union fpureg *fregs; in arch_ptrace() local 1118 fregs = get_fpu_regs(child); in arch_ptrace() 1132 tmp = get_fpr64(&fregs[addr - FPR_BASE], 0); in arch_ptrace() 1215 union fpureg *fregs = get_fpu_regs(child); in arch_ptrace() local 1225 set_fpr32(&fregs[(addr & ~1) - FPR_BASE], in arch_ptrace() [all …]
|
| /linux-6.15/arch/s390/kernel/ |
| H A D | ftrace.c | 267 struct ftrace_ops *op, struct ftrace_regs *fregs) in ftrace_graph_func() argument 269 unsigned long *parent = &arch_ftrace_regs(fregs)->regs.gprs[14]; in ftrace_graph_func() 270 unsigned long sp = arch_ftrace_regs(fregs)->regs.gprs[15]; in ftrace_graph_func() 276 if (!function_graph_enter_regs(*parent, ip, 0, (unsigned long *)sp, fregs)) in ftrace_graph_func() 284 struct ftrace_ops *ops, struct ftrace_regs *fregs) in kprobe_ftrace_handler() argument 298 kmsan_unpoison_memory(fregs, ftrace_regs_size()); in kprobe_ftrace_handler() 299 regs = ftrace_get_regs(fregs); in kprobe_ftrace_handler()
|
| /linux-6.15/arch/riscv/kernel/ |
| H A D | ftrace.c | 215 struct ftrace_ops *op, struct ftrace_regs *fregs) in ftrace_graph_func() argument 218 unsigned long frame_pointer = arch_ftrace_regs(fregs)->s0; in ftrace_graph_func() 219 unsigned long *parent = &arch_ftrace_regs(fregs)->ra; in ftrace_graph_func() 231 if (!function_graph_enter_regs(old, ip, frame_pointer, parent, fregs)) in ftrace_graph_func()
|
| /linux-6.15/arch/parisc/kernel/ |
| H A D | ftrace.c | 59 struct ftrace_regs *fregs) in ftrace_function_trampoline() argument 63 ftrace_func(self_addr, parent, function_trace_op, fregs); in ftrace_function_trampoline() 202 struct ftrace_ops *ops, struct ftrace_regs *fregs) in kprobe_ftrace_handler() argument 216 regs = ftrace_get_regs(fregs); in kprobe_ftrace_handler()
|
| /linux-6.15/arch/loongarch/kernel/ |
| H A D | ftrace_dyn.c | 241 struct ftrace_ops *op, struct ftrace_regs *fregs) in ftrace_graph_func() argument 243 struct pt_regs *regs = &arch_ftrace_regs(fregs)->regs; in ftrace_graph_func() 253 if (!function_graph_enter_regs(old, ip, 0, parent, fregs)) in ftrace_graph_func() 290 struct ftrace_ops *ops, struct ftrace_regs *fregs) in kprobe_ftrace_handler() argument 308 regs = ftrace_get_regs(fregs); in kprobe_ftrace_handler()
|
| /linux-6.15/arch/powerpc/kernel/ |
| H A D | kprobes-ftrace.c | 17 struct ftrace_ops *ops, struct ftrace_regs *fregs) in kprobe_ftrace_handler() argument 31 regs = ftrace_get_regs(fregs); in kprobe_ftrace_handler()
|
| /linux-6.15/arch/x86/kernel/kprobes/ |
| H A D | ftrace.c | 18 struct ftrace_ops *ops, struct ftrace_regs *fregs) in kprobe_ftrace_handler() argument 20 struct pt_regs *regs = ftrace_get_regs(fregs); in kprobe_ftrace_handler()
|
| /linux-6.15/arch/csky/kernel/probes/ |
| H A D | ftrace.c | 7 struct ftrace_ops *ops, struct ftrace_regs *fregs) in kprobe_ftrace_handler() argument 22 regs = ftrace_get_regs(fregs); in kprobe_ftrace_handler()
|
| /linux-6.15/arch/sparc/math-emu/ |
| H A D | math_32.c | 133 static int do_one_mathemu(u32 insn, unsigned long *fsr, unsigned long *fregs); 275 static int do_one_mathemu(u32 insn, unsigned long *pfsr, unsigned long *fregs) in do_one_mathemu() argument 369 rs1 = (argp)&fregs[freg]; in do_one_mathemu() 390 rs2 = (argp)&fregs[freg]; in do_one_mathemu() 419 rd = (void *)&fregs[freg]; in do_one_mathemu()
|
| /linux-6.15/arch/arm64/kernel/ |
| H A D | ftrace.c | 544 struct ftrace_ops *op, struct ftrace_regs *fregs) in ftrace_graph_func() argument 547 unsigned long frame_pointer = arch_ftrace_regs(fregs)->fp; in ftrace_graph_func() 548 unsigned long *parent = &arch_ftrace_regs(fregs)->lr; in ftrace_graph_func() 557 (void *)frame_pointer, fregs)) { in ftrace_graph_func()
|