xref: /minix3/minix/kernel/config.h (revision 433d6423c39e34ec4b79c950597bb2d236f886be)
1*433d6423SLionel Sambuc #ifndef CONFIG_H
2*433d6423SLionel Sambuc #define CONFIG_H
3*433d6423SLionel Sambuc 
4*433d6423SLionel Sambuc /* This file defines the kernel configuration. It allows to set sizes of some
5*433d6423SLionel Sambuc  * kernel buffers and to enable or disable debugging code, timing features,
6*433d6423SLionel Sambuc  * and individual kernel calls.
7*433d6423SLionel Sambuc  *
8*433d6423SLionel Sambuc  * Changes:
9*433d6423SLionel Sambuc  *   Jul 11, 2005	Created.  (Jorrit N. Herder)
10*433d6423SLionel Sambuc  */
11*433d6423SLionel Sambuc 
12*433d6423SLionel Sambuc /* In embedded and sensor applications, not all the kernel calls may be
13*433d6423SLionel Sambuc  * needed. In this section you can specify which kernel calls are needed
14*433d6423SLionel Sambuc  * and which are not. The code for unneeded kernel calls is not included in
15*433d6423SLionel Sambuc  * the system binary, making it smaller. If you are not sure, it is best
16*433d6423SLionel Sambuc  * to keep all kernel calls enabled.
17*433d6423SLionel Sambuc  */
18*433d6423SLionel Sambuc #define USE_FORK       	   1	/* fork a new process */
19*433d6423SLionel Sambuc #define USE_NEWMAP     	   1	/* set a new memory map */
20*433d6423SLionel Sambuc #define USE_EXEC       	   1	/* update process after execute */
21*433d6423SLionel Sambuc #define USE_CLEAR	   1	/* clean up after process exit */
22*433d6423SLionel Sambuc #define USE_EXIT	   1	/* a system process wants to exit */
23*433d6423SLionel Sambuc #define USE_TRACE          1	/* process information and tracing */
24*433d6423SLionel Sambuc #define USE_GETKSIG    	   1	/* retrieve pending kernel signals */
25*433d6423SLionel Sambuc #define USE_ENDKSIG    	   1	/* finish pending kernel signals */
26*433d6423SLionel Sambuc #define USE_KILL       	   1 	/* send a signal to a process */
27*433d6423SLionel Sambuc #define USE_SIGSEND    	   1	/* send POSIX-style signal */
28*433d6423SLionel Sambuc #define USE_SIGRETURN  	   1	/* sys_sigreturn(proc_nr, ctxt_ptr, flags) */
29*433d6423SLionel Sambuc #define USE_ABORT      	   1	/* shut down MINIX */
30*433d6423SLionel Sambuc #define USE_GETINFO    	   1 	/* retrieve a copy of kernel data */
31*433d6423SLionel Sambuc #define USE_TIMES 	   1	/* get process and system time info */
32*433d6423SLionel Sambuc #define USE_SETALARM	   1	/* schedule a synchronous alarm */
33*433d6423SLionel Sambuc #define USE_VTIMER         1	/* set or retrieve a process-virtual timer */
34*433d6423SLionel Sambuc #define USE_DEVIO      	   1	/* read or write a single I/O port */
35*433d6423SLionel Sambuc #define USE_VDEVIO     	   1	/* process vector with I/O requests */
36*433d6423SLionel Sambuc #define USE_SDEVIO     	   1	/* perform I/O request on a buffer */
37*433d6423SLionel Sambuc #define USE_IRQCTL     	   1	/* set an interrupt policy */
38*433d6423SLionel Sambuc #define USE_PRIVCTL    	   1	/* system privileges control */
39*433d6423SLionel Sambuc #define USE_UMAP       	   1	/* map virtual to physical address */
40*433d6423SLionel Sambuc #define USE_UMAP_REMOTE	   1	/* sys_umap on behalf of another process */
41*433d6423SLionel Sambuc #define USE_VUMAP      	   1	/* vectored virtual to physical mapping */
42*433d6423SLionel Sambuc #define USE_VIRCOPY   	   1	/* copy using virtual addressing */
43*433d6423SLionel Sambuc #define USE_PHYSCOPY  	   1 	/* copy using physical addressing */
44*433d6423SLionel Sambuc #define USE_MEMSET  	   1	/* write char to a given memory area */
45*433d6423SLionel Sambuc #define USE_RUNCTL         1	/* control stop flags of a process */
46*433d6423SLionel Sambuc #define USE_STATECTL       1	/* let a process control its state */
47*433d6423SLionel Sambuc #define USE_MCONTEXT       1	/* enable getting/setting of machine context */
48*433d6423SLionel Sambuc 
49*433d6423SLionel Sambuc #if defined(__arm__)
50*433d6423SLionel Sambuc #define USE_PADCONF        1	/* configure pinmux */
51*433d6423SLionel Sambuc #endif /* __arm__ */
52*433d6423SLionel Sambuc 
53*433d6423SLionel Sambuc /* This section contains defines for valuable system resources that are used
54*433d6423SLionel Sambuc  * by device drivers. The number of elements of the vectors is determined by
55*433d6423SLionel Sambuc  * the maximum needed by any given driver. The number of interrupt hooks may
56*433d6423SLionel Sambuc  * be incremented on systems with many device drivers.
57*433d6423SLionel Sambuc  */
58*433d6423SLionel Sambuc #ifndef USE_APIC
59*433d6423SLionel Sambuc #define NR_IRQ_HOOKS	  16		/* number of interrupt hooks */
60*433d6423SLionel Sambuc #else
61*433d6423SLionel Sambuc #define NR_IRQ_HOOKS	  64		/* number of interrupt hooks */
62*433d6423SLionel Sambuc #endif
63*433d6423SLionel Sambuc #define VDEVIO_BUF_SIZE   64		/* max elements per VDEVIO request */
64*433d6423SLionel Sambuc 
65*433d6423SLionel Sambuc #define K_PARAM_SIZE     512
66*433d6423SLionel Sambuc 
67*433d6423SLionel Sambuc #endif /* CONFIG_H */
68*433d6423SLionel Sambuc 
69