Barrelfish
Functions
trace.c File Reference

System-wide tracing. More...

Functions

errval_t trace_init (void)
 Initialize per-core tracing buffer. More...
 
errval_t trace_disable_domain (void)
 Turn off tracing for this domain.
 
void trace_init_disp (void)
 
errval_t trace_setup_child (struct cnoderef taskcn, dispatcher_handle_t handle)
 Setup the tracing buffer for a child domain. More...
 
errval_t trace_setup_on_core (struct capref *retcap)
 Set up the trace buffer on the current core and notify the kernel. More...
 

Detailed Description

System-wide tracing.

Function Documentation

errval_t trace_init ( void  )

Initialize per-core tracing buffer.

This function creates a cap for the tracing buffer in taskcn. It is called from init at startup.

Note that it does not map the buffer into its own vspace.

void trace_init_disp ( void  )

Sets up tracing framework for current dispatcher

errval_t trace_setup_child ( struct cnoderef  taskcn,
dispatcher_handle_t  handle 
)

Setup the tracing buffer for a child domain.

Assumes that the child domain is currently being spawned (because we rely on libspawndomain having the right state to allow us to map the trace buffer into the child's vspace).

trace_init must already have been called

errval_t trace_setup_on_core ( struct capref retcap)

Set up the trace buffer on the current core and notify the kernel.

Clear the buffer. Return the cap for the buffer. Should be called once on each core.