opnsense-src/sys/cddl/dev/dtrace
Mark Johnston 761d4d350d dtrace/amd64: Implement emulation of call instructions
Here, the provider is responsible for updating the trapframe to redirect
control flow and for computing the return address.  Once software-saved
registers are restored, the emulation shifts the remaining context down
on the stack to make space for the return address, then copies the
address provided by the invop handler.  dtrace_invop() is modified to
allocate temporary storage space on the stack for use by the provider to
return the return address.

This is to support a new provider for amd64 which can instrument
arbitrary instructions, not just function entry and exit instructions as
FBT does.

In collaboration with:	christos
Sponsored by:	Google, Inc. (GSoC 2022)
Sponsored by:	The FreeBSD Foundation

(cherry picked from commit 3ba8e9dc4a)
2022-08-23 16:05:07 -04:00
..
aarch64 Create sys/reg.h for the common code previously in machine/reg.h 2022-05-12 15:12:59 -07:00
amd64 dtrace/amd64: Implement emulation of call instructions 2022-08-23 16:05:07 -04:00
arm Adjust function definition in arm's dtrace_subr.c to avoid clang 15 warning 2022-08-21 13:10:50 +02:00
i386 Fix syntax 2020-12-01 23:51:48 +00:00
mips Create sys/reg.h for the common code previously in machine/reg.h 2022-05-12 15:12:59 -07:00
powerpc Adjust function definition in powerpc's dtrace_subr.c to avoid clang 15 warning 2022-08-21 13:10:50 +02:00
riscv Adjust function definition in riscv's dtrace_subr.c to avoid clang 15 warning 2022-08-21 13:10:49 +02:00
x86 Sync the x86 dis_tables.c with upstream. 2017-02-03 03:22:47 +00:00
dtrace_anon.c
dtrace_cddl.h Fix a tracepoint lookup race in fasttrap_pid_probe(). 2019-02-21 22:54:17 +00:00
dtrace_debug.c Fix a backwards comparison in the code to dump a DTrace debug buffer. 2017-03-13 18:43:00 +00:00
dtrace_hacks.c Fix DTrace's panic() action. 2015-04-24 03:19:30 +00:00
dtrace_ioctl.c Don't use pcpu_find() to determine if a CPU ID is valid. 2017-11-27 18:42:23 +00:00
dtrace_load.c Fix a harmless LOR in dtrace_load(). 2017-05-01 17:01:00 +00:00
dtrace_modevent.c
dtrace_sysctl.c dtrace: add a knob to control maximum size of principal buffers 2022-02-01 10:12:03 +02:00
dtrace_test.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
dtrace_unload.c Adjust dtrace_unload() definition to avoid clang 15 warning 2022-07-23 10:56:42 +02:00
dtrace_vtime.c