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