00001 #ifndef _CONFIG_H 00002 #define _CONFIG_H 00003 00004 /* Minix release and version numbers. */ 00005 #define OS_RELEASE "3" 00006 #define OS_VERSION "1.2" 00007 00008 /* This file sets configuration parameters for the MINIX kernel, FS, and PM. 00009 * It is divided up into two main sections. The first section contains 00010 * user-settable parameters. In the second section, various internal system 00011 * parameters are set based on the user-settable parameters. 00012 * 00013 * Parts of config.h have been moved to sys_config.h, which can be included 00014 * by other include files that wish to get at the configuration data, but 00015 * don't want to pollute the users namespace. Some editable values have 00016 * gone there. 00017 * 00018 */ 00019 00020 /* The MACHINE (called _MINIX_MACHINE) setting can be done 00021 * in <minix/machine.h>. 00022 */ 00023 #include <minix/sys_config.h> 00024 00025 #define MACHINE _MINIX_MACHINE 00026 00027 #define IBM_PC _MACHINE_IBM_PC 00028 #define SUN_4 _MACHINE_SUN_4 00029 #define SUN_4_60 _MACHINE_SUN_4_60 00030 #define ATARI _MACHINE_ATARI 00031 #define MACINTOSH _MACHINE_MACINTOSH 00032 00033 /* Number of slots in the process table for non-kernel processes. The number 00034 * of system processes defines how many processes with special privileges 00035 * there can be. User processes share the same properties and count for one. 00036 * 00037 * These can be changed in sys_config.h. 00038 */ 00039 #define NR_PROCS _NR_PROCS 00040 #define NR_SYS_PROCS _NR_SYS_PROCS 00041 00042 #if _MINIX_SMALL 00043 00044 #define NR_BUFS 100 00045 #define NR_BUF_HASH 128 00046 00047 #else 00048 00049 /* The buffer cache should be made as large as you can afford. */ 00050 #if (MACHINE == IBM_PC && _WORD_SIZE == 2) 00051 #define NR_BUFS 40 /* # blocks in the buffer cache */ 00052 #define NR_BUF_HASH 64 /* size of buf hash table; MUST BE POWER OF 2*/ 00053 #endif 00054 00055 #if (MACHINE == IBM_PC && _WORD_SIZE == 4) 00056 #define NR_BUFS 1200 /* # blocks in the buffer cache */ 00057 #define NR_BUF_HASH 2048 /* size of buf hash table; MUST BE POWER OF 2*/ 00058 #endif 00059 00060 #if (MACHINE == SUN_4_60) 00061 #define NR_BUFS 512 /* # blocks in the buffer cache (<=1536) */ 00062 #define NR_BUF_HASH 512 /* size of buf hash table; MUST BE POWER OF 2*/ 00063 #endif 00064 00065 #endif /* _MINIX_SMALL */ 00066 00067 /* Number of controller tasks (/dev/cN device classes). */ 00068 #define NR_CTRLRS 2 00069 00070 /* Enable or disable the second level file system cache on the RAM disk. */ 00071 #define ENABLE_CACHE2 0 00072 00073 /* Enable or disable swapping processes to disk. */ 00074 #define ENABLE_SWAP 1 00075 00076 /* Include or exclude an image of /dev/boot in the boot image. 00077 * Please update the makefile in /usr/src/tools/ as well. 00078 */ 00079 #define ENABLE_BOOTDEV 0 /* load image of /dev/boot at boot time */ 00080 00081 /* DMA_SECTORS may be increased to speed up DMA based drivers. */ 00082 #define DMA_SECTORS 1 /* DMA buffer size (must be >= 1) */ 00083 00084 /* Include or exclude backwards compatibility code. */ 00085 #define ENABLE_BINCOMPAT 0 /* for binaries using obsolete calls */ 00086 #define ENABLE_SRCCOMPAT 0 /* for sources using obsolete calls */ 00087 00088 /* Which processes should receive diagnostics from the kernel and system? 00089 * Directly sending it to TTY only displays the output. Sending it to the 00090 * log driver will cause the diagnostics to be buffered and displayed. 00091 * Messages are sent by src/lib/sysutil/kputc.c to these processes, in 00092 * the order of this array, which must be terminated by NONE. This is used 00093 * by drivers and servers that printf(). 00094 * The kernel does this for its own kprintf() in kernel/utility.c, also using 00095 * this array, but a slightly different mechanism. 00096 */ 00097 #define OUTPUT_PROCS_ARRAY { TTY_PROC_NR, LOG_PROC_NR, NONE } 00098 00099 /* NR_CONS, NR_RS_LINES, and NR_PTYS determine the number of terminals the 00100 * system can handle. 00101 */ 00102 #define NR_CONS 4 /* # system consoles (1 to 8) */ 00103 #define NR_RS_LINES 4 /* # rs232 terminals (0 to 4) */ 00104 #define NR_PTYS 32 /* # pseudo terminals (0 to 64) */ 00105 00106 /*===========================================================================* 00107 * There are no user-settable parameters after this line * 00108 *===========================================================================*/ 00109 /* Set the CHIP type based on the machine selected. The symbol CHIP is actually 00110 * indicative of more than just the CPU. For example, machines for which 00111 * CHIP == INTEL are expected to have 8259A interrrupt controllers and the 00112 * other properties of IBM PC/XT/AT/386 types machines in general. */ 00113 #define INTEL _CHIP_INTEL /* CHIP type for PC, XT, AT, 386 and clones */ 00114 #define M68000 _CHIP_M68000 /* CHIP type for Atari, Amiga, Macintosh */ 00115 #define SPARC _CHIP_SPARC /* CHIP type for SUN-4 (e.g. SPARCstation) */ 00116 00117 /* Set the FP_FORMAT type based on the machine selected, either hw or sw */ 00118 #define FP_NONE _FP_NONE /* no floating point support */ 00119 #define FP_IEEE _FP_IEEE /* conform IEEE floating point standard */ 00120 00121 /* _MINIX_CHIP is defined in sys_config.h. */ 00122 #define CHIP _MINIX_CHIP 00123 00124 /* _MINIX_FP_FORMAT is defined in sys_config.h. */ 00125 #define FP_FORMAT _MINIX_FP_FORMAT 00126 00127 /* _ASKDEV and _FASTLOAD are defined in sys_config.h. */ 00128 #define ASKDEV _ASKDEV 00129 #define FASTLOAD _FASTLOAD 00130 00131 #endif /* _CONFIG_H */
1.4.6