xref: /minix3/minix/kernel/profile.h (revision 1dcfbcd17383a5c335ef7172dc751771716b632d)
1*433d6423SLionel Sambuc #ifndef PROFILE_H
2*433d6423SLionel Sambuc #define PROFILE_H
3*433d6423SLionel Sambuc 
4*433d6423SLionel Sambuc #include <minix/profile.h>
5*433d6423SLionel Sambuc 
6*433d6423SLionel Sambuc #if SPROFILE	/* statistical profiling */
7*433d6423SLionel Sambuc 
8*433d6423SLionel Sambuc #include "arch_watchdog.h"
9*433d6423SLionel Sambuc 
10*433d6423SLionel Sambuc #define SAMPLE_BUFFER_SIZE	(64 << 20)
11*433d6423SLionel Sambuc extern char sprof_sample_buffer[SAMPLE_BUFFER_SIZE];
12*433d6423SLionel Sambuc 
13*433d6423SLionel Sambuc EXTERN int sprofiling;			/* whether profiling is running */
14*433d6423SLionel Sambuc EXTERN int sprofiling_type;			/* whether profiling is running */
15*433d6423SLionel Sambuc EXTERN int sprof_mem_size;		/* available user memory for data */
16*433d6423SLionel Sambuc EXTERN struct sprof_info_s sprof_info;	/* profiling info for user program */
17*433d6423SLionel Sambuc EXTERN vir_bytes sprof_data_addr_vir;	/* user address to write data */
18*433d6423SLionel Sambuc EXTERN endpoint_t sprof_ep;		/* user process */
19*433d6423SLionel Sambuc 
20*433d6423SLionel Sambuc void nmi_sprofile_handler(struct nmi_frame * frame);
21*433d6423SLionel Sambuc 
22*433d6423SLionel Sambuc #endif /* SPROFILE */
23*433d6423SLionel Sambuc 
24*433d6423SLionel Sambuc #endif /* PROFILE_H */
25*433d6423SLionel Sambuc 
26