make vfs & filesystems use failable copying
[minix3.git] / include / minix / config.h
blob3b9eb1738c9d4dd9c660e21498a8868af2453699
1 #ifndef _CONFIG_H
2 #define _CONFIG_H
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 ")"
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.
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.
22 #include <minix/sys_config.h>
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.
28 * These can be changed in sys_config.h.
30 #define NR_PROCS _NR_PROCS
31 #define NR_SYS_PROCS _NR_SYS_PROCS
32 #define NR_SYS_CHUNKS BITMAP_CHUNKS(NR_SYS_PROCS)
34 /* Number of controller tasks (/dev/cN device classes). */
35 #define NR_CTRLRS 2
37 /* DMA_SECTORS may be increased to speed up DMA based drivers. */
38 #define DMA_SECTORS 1 /* DMA buffer size (must be >= 1) */
40 /* NR_CONS, NR_RS_LINES, and NR_PTYS determine the number of terminals the
41 * system can handle.
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) */
47 /* This feature enable the counting of system calls in PM and FS */
48 #define ENABLE_SYSCALL_STATS 0
50 /* Max. number of I/O ranges that can be assigned to a process */
51 #define NR_IO_RANGE 64
53 /* Max. number of device memory ranges that can be assigned to a process */
54 #define NR_MEM_RANGE 20
56 /* Max. number of IRQs that can be assigned to a process */
57 #define NR_IRQ 16
59 /* Scheduling priorities. Values must start at zero (highest
60 * priority) and increment.
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
72 /* defualt user process cpu */
73 #define USER_DEFAULT_CPU -1 /* use the default cpu or do not change the
74 current one */
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 */
83 /* _MINIX_FP_FORMAT is defined in sys_config.h. */
84 #define FP_FORMAT _MINIX_FP_FORMAT
86 /* _ASKDEV and _FASTLOAD are defined in sys_config.h. */
87 #define ASKDEV _ASKDEV
88 #define FASTLOAD _FASTLOAD
90 /* Enable or disable system profiling. */
91 #define SPROFILE 0 /* statistical profiling */
92 #define CPROFILE 0 /* call profiling */
94 /* PCI configuration parameters */
95 #define NR_PCIBUS 40
96 #define NR_PCIDEV 50
98 #endif /* _CONFIG_H */