A number of changes to DTrace to improve robustness (i.e., not panic quickly) on FreeBSD/arm64:
- Don't allow FBT to instrument the exception handlers used to implement FBT.
- Don't allow FBT to instrument DDB, which makes debugging FBT even harder.
- Don't allow FBT to instrument memcpy(), which may be used by the compiler to optimise parts of the DTrace implementation, as well as in exception handlers.
- Implement a dtrace_getnanouptime(), modeled on the existing dtrace_getnanotime(), so that we don't have to block FBT instrumentation of getnanouptime().
(Note: I'm pretty sure that dtrace_gethrtime() should not use getnanouptime(), but I'll change its semantics in some later commit -- this change preserve current semantics.)