#ifndef PROFILE_H #define PROFILE_H #include #if SPROFILE /* statistical profiling */ #include "arch_watchdog.h" #define SAMPLE_BUFFER_SIZE (64 << 20) extern char sprof_sample_buffer[SAMPLE_BUFFER_SIZE]; EXTERN int sprofiling; /* whether profiling is running */ EXTERN int sprofiling_type; /* whether profiling is running */ EXTERN int sprof_mem_size; /* available user memory for data */ EXTERN struct sprof_info_s sprof_info; /* profiling info for user program */ EXTERN vir_bytes sprof_data_addr_vir; /* user address to write data */ EXTERN endpoint_t sprof_ep; /* user process */ void nmi_sprofile_handler(struct nmi_frame * frame); #endif /* SPROFILE */ EXTERN int cprof_mem_size; /* available user memory for data */ EXTERN struct cprof_info_s cprof_info; /* profiling info for user program */ EXTERN int cprof_procs_no; /* number of profiled processes */ EXTERN struct cprof_proc_info_s { /* info about profiled process */ endpoint_t endpt; /* endpoint */ char *name; /* name */ vir_bytes ctl_v; /* location of control struct */ vir_bytes buf_v; /* location of buffer */ int slots_used; /* table slots used */ } cprof_proc_info_inst; EXTERN struct cprof_proc_info_s cprof_proc_info[NR_SYS_PROCS]; #endif /* PROFILE_H */