/*
* DTrace Implementation Locks
*/
+extern lck_attr_t dtrace_lck_attr;
+extern lck_grp_t dtrace_lck_grp;
extern lck_mtx_t dtrace_procwaitfor_lock;
/*
#define DTRACE_MSTATE_USTACKDEPTH 0x00000200
#define DTRACE_MSTATE_UCALLER 0x00000400
#define DTRACE_MSTATE_MACHTIMESTAMP 0x00000800
+#define DTRACE_MSTATE_MACHCTIMESTAMP 0x00001000
typedef struct dtrace_mstate {
uintptr_t dtms_scratch_base; /* base of scratch space */
uint64_t dtms_timestamp; /* cached timestamp */
hrtime_t dtms_walltimestamp; /* cached wall timestamp */
uint64_t dtms_machtimestamp; /* cached mach absolute timestamp */
+ uint64_t dtms_machctimestamp; /* cached mach continuous timestamp */
int dtms_stackdepth; /* cached stackdepth */
int dtms_ustackdepth; /* cached ustackdepth */
struct dtrace_probe *dtms_probe; /* current probe */
extern int dtrace_canload(uint64_t, size_t, dtrace_mstate_t*, dtrace_vstate_t*);
extern uint64_t dtrace_getreg(struct regs *, uint_t);
+extern uint64_t dtrace_getvmreg(uint_t);
extern int dtrace_getstackdepth(int);
extern void dtrace_getupcstack(uint64_t *, int);
extern void dtrace_getufpstack(uint64_t *, uint64_t *, int);
extern int dtrace_assfail(const char *, const char *, int);
extern int dtrace_attached(void);
extern hrtime_t dtrace_gethrestime(void);
-extern void dtrace_isa_init(void);
extern void dtrace_flush_caches(void);
extern void* dtrace_ptrauth_strip(void*, uint64_t);
extern int dtrace_is_valid_ptrauth_key(uint64_t);
+extern uint64_t dtrace_physmem_read(uint64_t, size_t);
+extern void dtrace_physmem_write(uint64_t, uint64_t, size_t);
+
/*
* DTrace state handling
*/