root / lab4 / .minix-src / include / minix / config.h @ 13
History | View | Annotate | Download (3.92 KB)
1 | 13 | up20180614 | #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 | /* Max. number of domains (protocol families) per socket driver */
|
||
61 | #define NR_DOMAIN 8 |
||
62 | |||
63 | /* Scheduling priorities. Values must start at zero (highest
|
||
64 | * priority) and increment.
|
||
65 | */
|
||
66 | #define NR_SCHED_QUEUES 16 /* MUST equal minimum priority + 1 */ |
||
67 | #define TASK_Q 0 /* highest, used for kernel tasks */ |
||
68 | #define MAX_USER_Q 0 /* highest priority for user processes */ |
||
69 | #define USER_Q ((MIN_USER_Q - MAX_USER_Q) / 2 + MAX_USER_Q) /* default |
||
70 | (should correspond to nice 0) */
|
||
71 | #define MIN_USER_Q (NR_SCHED_QUEUES - 1) /* minimum priority for user |
||
72 | processes */
|
||
73 | /* default scheduling quanta */
|
||
74 | #define USER_QUANTUM 200 |
||
75 | |||
76 | /* defualt user process cpu */
|
||
77 | #define USER_DEFAULT_CPU -1 /* use the default cpu or do not change the |
||
78 | current one */
|
||
79 | |||
80 | /*===========================================================================*
|
||
81 | * There are no user-settable parameters after this line *
|
||
82 | *===========================================================================*/
|
||
83 | /* Set the FP_FORMAT type based on the machine selected, either hw or sw */
|
||
84 | #define FP_NONE _FP_NONE /* no floating point support */ |
||
85 | #define FP_IEEE _FP_IEEE /* conform IEEE floating point standard */ |
||
86 | |||
87 | /* _MINIX_FP_FORMAT is defined in sys_config.h. */
|
||
88 | #define FP_FORMAT _MINIX_FP_FORMAT
|
||
89 | |||
90 | /* _ASKDEV and _FASTLOAD are defined in sys_config.h. */
|
||
91 | #define ASKDEV _ASKDEV
|
||
92 | #define FASTLOAD _FASTLOAD
|
||
93 | |||
94 | /* Enable or disable system profiling. */
|
||
95 | #define SPROFILE 0 /* statistical profiling */ |
||
96 | |||
97 | /* PCI configuration parameters */
|
||
98 | #define NR_PCIBUS 40 |
||
99 | #define NR_PCIDEV 50 |
||
100 | |||
101 | /* Network device driver protocol parameters. */
|
||
102 | #define NDEV_NAME_MAX 16 /* max network driver name length (incl nul) */ |
||
103 | #define NDEV_HWADDR_MAX 6 /* max network hardware address length */ |
||
104 | #define NDEV_IOV_MAX 8 /* max number of elements in I/O vector */ |
||
105 | |||
106 | #endif /* _CONFIG_H */ |