[GSOC22 Weekly Update #1] Instruction-level dynamic tracing

From: Christos Margiolis <christos_at_freebsd.org>
Date: Sat, 18 Jun 2022 12:21:31 UTC
Hello,

The project's goals and deliverables are already documented in the Wiki
article [1] (do read this first). Development [2] has started a bit
before GSOC's official starting date, so this is not _really_ a weekly
report.

So far we've implemented the basic structure of the provider, that is,
it can create probes for all instructions in a given function and patch
them with breakpoints whenever they're enabled. In the wiki article I
mention how we can achieve tracing of all instructions using
"trampolines" (not real ones). Currently we have been able to get this
mechanism to work for many of the instructions as a proof-of-concept,
but we'll need to work on the special cases that make some instructions
break functionality.

[1] https://wiki.freebsd.org/SummerOfCode2022Projects/InstructionLevelDynamicTracing
[2] https://github.com/christosmarg/freebsd/tree/kinst

Christos