CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2021/09/03 10:45:45
Modified files:
usr.sbin/btrace: btrace.c
sys/arch/amd64/amd64: vector.S
sys/arch/i386/i386: locore.s
sys/conf : files
sys/ddb : db_prof.c
sys/dev/dt : dt_dev.c dt_prov_profile.c dt_prov_static.c
dt_prov_syscall.c dtvar.h
sys/kern : subr_prof.c
Added files:
sys/dev/dt : dt_prov_kprobe.c
Log message:
add kprobes provider for dt
this allows us to dynamically trace function boundaries with btrace by patching
prologues and epilogues with a breakpoint upon which the handler records the
data,
sends it back to userland for btrace to consume.
currently it's hidden behind DDBPROF, and there is still a lot to cleanup and
improve, but basic scripts that observe return codes from a probed function
work.
from Tom Rollet, with various changes by me
feedback and ok mpi@