xref: /minix/minix/include/minix/config.h (revision e3b78ef1)
1 #ifndef _CONFIG_H
2 #define _CONFIG_H
3 
4 /* Minix release and version numbers. */
5 #define OS_NAME "Minix"
6 #define OS_RELEASE "3.3.0"
7 #define OS_CONFIG "GENERIC"
8 #define OS_VERSION OS_NAME " " OS_RELEASE " (" OS_CONFIG ")"
9 
10 /* This file sets configuration parameters for the MINIX kernel, FS, and PM.
11  * It is divided up into two main sections.  The first section contains
12  * user-settable parameters.  In the second section, various internal system
13  * parameters are set based on the user-settable parameters.
14  *
15  * Parts of config.h have been moved to sys_config.h, which can be included
16  * by other include files that wish to get at the configuration data, but
17  * don't want to pollute the users namespace. Some editable values have
18  * gone there.
19  *
20  */
21 
22 #include <minix/sys_config.h>
23 
24 /* Number of slots in the process table for non-kernel processes. The number
25  * of system processes defines how many processes with special privileges
26  * there can be. User processes share the same properties and count for one.
27  *
28  * These can be changed in sys_config.h.
29  */
30 #define NR_PROCS 	  _NR_PROCS
31 #define NR_SYS_PROCS      _NR_SYS_PROCS
32 #define NR_SYS_CHUNKS	  BITMAP_CHUNKS(NR_SYS_PROCS)
33 
34 /* Number of controller tasks (/dev/cN device classes). */
35 #define NR_CTRLRS          2
36 
37 /* DMA_SECTORS may be increased to speed up DMA based drivers. */
38 #define DMA_SECTORS        1	/* DMA buffer size (must be >= 1) */
39 
40 /* NR_CONS, NR_RS_LINES, and NR_PTYS determine the number of terminals the
41  * system can handle.
42  */
43 #define NR_CONS            4	/* # system consoles (1 to 8) */
44 #define	NR_RS_LINES	   4	/* # rs232 terminals (0 to 3) */
45 #define	NR_PTYS		   32	/* # pseudo terminals (0 to 64) */
46 
47 /* This feature enable the counting of system calls in PM and FS */
48 #define ENABLE_SYSCALL_STATS	0
49 
50 /* Max. number of I/O ranges that can be assigned to a process */
51 #define NR_IO_RANGE	64
52 
53 /* Max. number of device memory ranges that can be assigned to a process */
54 #define NR_MEM_RANGE	20
55 
56 /* Max. number of IRQs that can be assigned to a process */
57 #define NR_IRQ	16
58 
59 /* Scheduling priorities. Values must start at zero (highest
60  * priority) and increment.
61  */
62 #define NR_SCHED_QUEUES   16	/* MUST equal minimum priority + 1 */
63 #define TASK_Q		   0	/* highest, used for kernel tasks */
64 #define MAX_USER_Q  	   0    /* highest priority for user processes */
65 #define USER_Q  	  ((MIN_USER_Q - MAX_USER_Q) / 2 + MAX_USER_Q) /* default
66 						(should correspond to nice 0) */
67 #define MIN_USER_Q	  (NR_SCHED_QUEUES - 1)	/* minimum priority for user
68 						   processes */
69 /* default scheduling quanta */
70 #define USER_QUANTUM 200
71 
72 /* defualt user process cpu */
73 #define USER_DEFAULT_CPU	-1 /* use the default cpu or do not change the
74 				      current one */
75 
76 /*===========================================================================*
77  *	There are no user-settable parameters after this line		     *
78  *===========================================================================*/
79 /* Set the FP_FORMAT type based on the machine selected, either hw or sw    */
80 #define FP_NONE	 _FP_NONE	/* no floating point support                */
81 #define FP_IEEE	 _FP_IEEE	/* conform IEEE floating point standard     */
82 
83 /* _MINIX_FP_FORMAT is defined in sys_config.h. */
84 #define FP_FORMAT	_MINIX_FP_FORMAT
85 
86 /* _ASKDEV and _FASTLOAD are defined in sys_config.h. */
87 #define ASKDEV _ASKDEV
88 #define FASTLOAD _FASTLOAD
89 
90 /* Enable or disable system profiling. */
91 #define SPROFILE          0    /* statistical profiling */
92 
93 /* PCI configuration parameters */
94 #define NR_PCIBUS 40
95 #define NR_PCIDEV 50
96 
97 #endif /* _CONFIG_H */
98