4 #include <minix/profile.h>
6 #if SPROFILE /* statistical profiling */
8 #include "arch_watchdog.h"
10 #define SAMPLE_BUFFER_SIZE (64 << 20)
11 extern char sprof_sample_buffer
[SAMPLE_BUFFER_SIZE
];
13 EXTERN
int sprofiling
; /* whether profiling is running */
14 EXTERN
int sprofiling_type
; /* whether profiling is running */
15 EXTERN
int sprof_mem_size
; /* available user memory for data */
16 EXTERN
struct sprof_info_s sprof_info
; /* profiling info for user program */
17 EXTERN vir_bytes sprof_data_addr_vir
; /* user address to write data */
18 EXTERN endpoint_t sprof_ep
; /* user process */
20 void nmi_sprofile_handler(struct nmi_frame
* frame
);
25 EXTERN
int cprof_mem_size
; /* available user memory for data */
26 EXTERN
struct cprof_info_s cprof_info
; /* profiling info for user program */
27 EXTERN
int cprof_procs_no
; /* number of profiled processes */
28 EXTERN
struct cprof_proc_info_s
{ /* info about profiled process */
29 endpoint_t endpt
; /* endpoint */
30 char *name
; /* name */
31 vir_bytes ctl_v
; /* location of control struct */
32 vir_bytes buf_v
; /* location of buffer */
33 int slots_used
; /* table slots used */
34 } cprof_proc_info_inst
;
35 EXTERN
struct cprof_proc_info_s cprof_proc_info
[NR_SYS_PROCS
];
37 #endif /* PROFILE_H */