1: #ifndef _CONFIG_H 2: #define _CONFIG_H 3: 4: /* Minix release and version numbers. */ 5: #define OS_RELEASE "3" 6: #define OS_VERSION "1.1" 7: 8: /* This file sets configuration parameters for the MINIX kernel, FS, and PM. 9: * It is divided up into two main sections. The first section contains 10: * user-settable parameters. In the second section, various internal system 11: * parameters are set based on the user-settable parameters. 12: * 13: * Parts of config.h have been moved to sys_config.h, which can be included 14: * by other include files that wish to get at the configuration data, but 15: * don't want to pollute the users namespace. Some editable values have 16: * gone there. 17: * 18: */ 19: 20: /* The MACHINE (called _MINIX_MACHINE) setting can be done 21: * in <minix/machine.h>. 22: */ 23: #include <minix/sys_config.h> 24: 25: #define MACHINE _MINIX_MACHINE 26: 27: #define IBM_PC _MACHINE_IBM_PC 28: #define SUN_4 _MACHINE_SUN_4 29: #define SUN_4_60 _MACHINE_SUN_4_60 30: #define ATARI _MACHINE_ATARI 31: #define MACINTOSH _MACHINE_MACINTOSH 32: 33: /* Number of slots in the process table for non-kernel processes. The number 34: * of system processes defines how many processes with special privileges 35: * there can be. User processes share the same properties and count for one. 36: * 37: * These can be changed in sys_config.h. 38: */ 39: #define NR_PROCS _NR_PROCS 40: #define NR_SYS_PROCS _NR_SYS_PROCS 41: 42: #if _MINIX_SMALL 43: 44: #define NR_BUFS 100 45: #define NR_BUF_HASH 128 46: 47: #else 48: 49: /* The buffer cache should be made as large as you can afford. */ 50: #if (MACHINE == IBM_PC && _WORD_SIZE == 2) 51: #define NR_BUFS 40 /* # blocks in the buffer cache */ 52: #define NR_BUF_HASH 64 /* size of buf hash table; MUST BE POWER OF 2*/ 53: #endif 54: 55: #if (MACHINE == IBM_PC && _WORD_SIZE == 4) 56: #define NR_BUFS 1200 /* # blocks in the buffer cache */ 57: #define NR_BUF_HASH 2048 /* size of buf hash table; MUST BE POWER OF 2*/ 58: #endif 59: 60: #if (MACHINE == SUN_4_60) 61: #define NR_BUFS 512 /* # blocks in the buffer cache (<=1536) */ 62: #define NR_BUF_HASH 512 /* size of buf hash table; MUST BE POWER OF 2*/ 63: #endif 64: 65: #endif /* _MINIX_SMALL */ 66: 67: /* Number of controller tasks (/dev/cN device classes). */ 68: #define NR_CTRLRS 2 69: 70: /* Enable or disable the second level file system cache on the RAM disk. */ 71: #define ENABLE_CACHE2 0 72: 73: /* Enable or disable swapping processes to disk. */ 74: #define ENABLE_SWAP 1 75: 76: /* Include or exclude an image of /dev/boot in the boot image. 77: * Please update the makefile in /usr/src/tools/ as well. 78: */ 79: #define ENABLE_BOOTDEV 0 /* load image of /dev/boot at boot time */ 80: 81: /* DMA_SECTORS may be increased to speed up DMA based drivers. */ 82: #define DMA_SECTORS 1 /* DMA buffer size (must be >= 1) */ 83: 84: /* Include or exclude backwards compatibility code. */ 85: #define ENABLE_BINCOMPAT 0 /* for binaries using obsolete calls */ 86: #define ENABLE_SRCCOMPAT 0 /* for sources using obsolete calls */ 87: 88: /* Which processes should receive diagnostics from the kernel and system? 89: * Directly sending it to TTY only displays the output. Sending it to the 90: * log driver will cause the diagnostics to be buffered and displayed. 91: * Messages are sent by src/lib/sysutil/kputc.c to these processes, in 92: * the order of this array, which must be terminated by NONE. This is used 93: * by drivers and servers that printf(). 94: * The kernel does this for its own kprintf() in kernel/utility.c, also using 95: * this array, but a slightly different mechanism. 96: */ 97: #define OUTPUT_PROCS_ARRAY { TTY_PROC_NR, LOG_PROC_NR, NONE } 98: 99: /* NR_CONS, NR_RS_LINES, and NR_PTYS determine the number of terminals the 100: * system can handle. 101: */ 102: #define NR_CONS 4 /* # system consoles (1 to 8) */ 103: #define NR_RS_LINES 4 /* # rs232 terminals (0 to 4) */ 104: #define NR_PTYS 32 /* # pseudo terminals (0 to 64) */ 105: 106: /*===========================================================================* 107: * There are no user-settable parameters after this line * 108: *===========================================================================*/ 109: /* Set the CHIP type based on the machine selected. The symbol CHIP is actually 110: * indicative of more than just the CPU. For example, machines for which 111: * CHIP == INTEL are expected to have 8259A interrrupt controllers and the 112: * other properties of IBM PC/XT/AT/386 types machines in general. */ 113: #define INTEL _CHIP_INTEL /* CHIP type for PC, XT, AT, 386 and clones */ 114: #define M68000 _CHIP_M68000 /* CHIP type for Atari, Amiga, Macintosh */ 115: #define SPARC _CHIP_SPARC /* CHIP type for SUN-4 (e.g. SPARCstation) */ 116: 117: /* Set the FP_FORMAT type based on the machine selected, either hw or sw */ 118: #define FP_NONE _FP_NONE /* no floating point support */ 119: #define FP_IEEE _FP_IEEE /* conform IEEE floating point standard */ 120: 121: /* _MINIX_CHIP is defined in sys_config.h. */ 122: #define CHIP _MINIX_CHIP 123: 124: /* _MINIX_FP_FORMAT is defined in sys_config.h. */ 125: #define FP_FORMAT _MINIX_FP_FORMAT 126: 127: /* _ASKDEV and _FASTLOAD are defined in sys_config.h. */ 128: #define ASKDEV _ASKDEV 129: #define FASTLOAD _FASTLOAD 130: 131: #endif /* _CONFIG_H */