config.h

Go to the documentation of this file.
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 */

Generated on Fri Apr 14 22:56:42 2006 for minix by  doxygen 1.4.6