summaryrefslogtreecommitdiff
path: root/minix/kernel/config.h
blob: a99b2990a1963e255d31da2263e503d04a8cc4bb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#ifndef CONFIG_H
#define CONFIG_H

/* This file defines the kernel configuration. It allows to set sizes of some
 * kernel buffers and to enable or disable debugging code, timing features, 
 * and individual kernel calls.
 *
 * Changes:
 *   Jul 11, 2005	Created.  (Jorrit N. Herder)
 */

/* In embedded and sensor applications, not all the kernel calls may be
 * needed. In this section you can specify which kernel calls are needed
 * and which are not. The code for unneeded kernel calls is not included in
 * the system binary, making it smaller. If you are not sure, it is best
 * to keep all kernel calls enabled.
 */
#define USE_FORK       	   1	/* fork a new process */
#define USE_NEWMAP     	   1	/* set a new memory map */
#define USE_EXEC       	   1	/* update process after execute */
#define USE_CLEAR	   1	/* clean up after process exit */
#define USE_EXIT	   1	/* a system process wants to exit */
#define USE_TRACE          1	/* process information and tracing */
#define USE_GETKSIG    	   1	/* retrieve pending kernel signals */
#define USE_ENDKSIG    	   1	/* finish pending kernel signals */
#define USE_KILL       	   1 	/* send a signal to a process */
#define USE_SIGSEND    	   1	/* send POSIX-style signal */
#define USE_SIGRETURN  	   1	/* sys_sigreturn(proc_nr, ctxt_ptr, flags) */
#define USE_ABORT      	   1	/* shut down MINIX */
#define USE_GETINFO    	   1 	/* retrieve a copy of kernel data */
#define USE_TIMES 	   1	/* get process and system time info */
#define USE_SETALARM	   1	/* schedule a synchronous alarm */
#define USE_VTIMER         1	/* set or retrieve a process-virtual timer */
#define USE_DEVIO      	   1	/* read or write a single I/O port */
#define USE_VDEVIO     	   1	/* process vector with I/O requests */
#define USE_SDEVIO     	   1	/* perform I/O request on a buffer */
#define USE_IRQCTL     	   1	/* set an interrupt policy */
#define USE_PRIVCTL    	   1	/* system privileges control */
#define USE_UMAP       	   1	/* map virtual to physical address */
#define USE_UMAP_REMOTE	   1	/* sys_umap on behalf of another process */
#define USE_VUMAP      	   1	/* vectored virtual to physical mapping */
#define USE_VIRCOPY   	   1	/* copy using virtual addressing */ 
#define USE_PHYSCOPY  	   1 	/* copy using physical addressing */
#define USE_MEMSET  	   1	/* write char to a given memory area */
#define USE_RUNCTL         1	/* control stop flags of a process */
#define USE_STATECTL       1	/* let a process control its state */
#define USE_MCONTEXT       1	/* enable getting/setting of machine context */

#if defined(__arm__)
#define USE_PADCONF        1	/* configure pinmux */
#endif /* __arm__ */

/* This section contains defines for valuable system resources that are used
 * by device drivers. The number of elements of the vectors is determined by 
 * the maximum needed by any given driver. The number of interrupt hooks may
 * be incremented on systems with many device drivers. 
 */
#ifndef USE_APIC
#define NR_IRQ_HOOKS	  16		/* number of interrupt hooks */
#else
#define NR_IRQ_HOOKS	  64		/* number of interrupt hooks */
#endif
#define VDEVIO_BUF_SIZE   64		/* max elements per VDEVIO request */

#define K_PARAM_SIZE     512

#endif /* CONFIG_H */