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