181 lines
7.3 KiB
C
Executable file
181 lines
7.3 KiB
C
Executable file
#ifndef _CONFIG_H
|
|
#define _CONFIG_H
|
|
|
|
/* Minix release and version numbers. */
|
|
#define OS_RELEASE "3"
|
|
#define OS_VERSION "0.1"
|
|
|
|
/* This file sets configuration parameters for the MINIX kernel, FS, and MM.
|
|
* It is divided up into two main sections. The first section contains
|
|
* user-settable parameters. In the second section, various internal system
|
|
* parameters are set based on the user-settable parameters.
|
|
*/
|
|
|
|
/*===========================================================================*
|
|
* This section contains user-settable parameters *
|
|
*===========================================================================*/
|
|
#define MACHINE IBM_PC /* Must be one of the names listed below */
|
|
|
|
#define IBM_PC 1 /* any 8088 or 80x86-based system */
|
|
#define SUN_4 40 /* any Sun SPARC-based system */
|
|
#define SUN_4_60 40 /* Sun-4/60 (aka SparcStation 1 or Campus) */
|
|
#define ATARI 60 /* ATARI ST/STe/TT (68000/68030) */
|
|
#define AMIGA 61 /* Commodore Amiga (68000) */
|
|
#define MACINTOSH 62 /* Apple Macintosh (68000) */
|
|
|
|
/* Word size in bytes (a constant equal to sizeof(int)). */
|
|
#if __ACK__
|
|
#define _WORD_SIZE _EM_WSIZE
|
|
#endif
|
|
|
|
/* Number of slots in the process table for non-kernel processes. */
|
|
#define NR_PROCS 64
|
|
|
|
/* The buffer cache should be made as large as you can afford. */
|
|
#if (MACHINE == IBM_PC && _WORD_SIZE == 2)
|
|
#define NR_BUFS 40 /* # blocks in the buffer cache */
|
|
#define NR_BUF_HASH 64 /* size of buf hash table; MUST BE POWER OF 2*/
|
|
#endif
|
|
|
|
#if (MACHINE == IBM_PC && _WORD_SIZE == 4)
|
|
#define NR_BUFS 1024 /* # blocks in the buffer cache */
|
|
#define NR_BUF_HASH 1024 /* size of buf hash table; MUST BE POWER OF 2*/
|
|
#endif
|
|
|
|
#if (MACHINE == SUN_4_60)
|
|
#define NR_BUFS 512 /* # blocks in the buffer cache (<=1536) */
|
|
#define NR_BUF_HASH 512 /* size of buf hash table; MUST BE POWER OF 2*/
|
|
#endif
|
|
|
|
/* Defines for kernel configuration. */
|
|
#define AUTO_BIOS 0 /* xt_wini.c - use Western's autoconfig BIOS */
|
|
#define LINEWRAP 1 /* console.c - wrap lines at column 80 */
|
|
#define ALLOW_GAP_MESSAGES 1 /* proc.c - allow messages in the gap between
|
|
* the end of bss and lowest stack address */
|
|
#define KMESS_BUF_SIZE 512 /* size in bytes for kernel messages */
|
|
|
|
/* Number of controller tasks (/dev/cN device classes). */
|
|
#define NR_CTRLRS 2
|
|
|
|
/* Enable or disable the second level file system cache on the RAM disk. */
|
|
#define ENABLE_CACHE2 0
|
|
|
|
/* Enable or disable swapping processes to disk. */
|
|
#define ENABLE_SWAP 1
|
|
|
|
/* Enable or disable kernel calls (allows for minimal kernel). */
|
|
#define ENABLE_K_TRACING 1 /* process tracing can be disabled */
|
|
#define ENABLE_K_DEBUGGING 0 /* kernel debugging calls */
|
|
|
|
/* Include or exclude an image of /dev/boot in the boot image. */
|
|
#define ENABLE_BOOTDEV 1
|
|
|
|
/* Include or exclude device drivers. Set to 1 to include, 0 to exclude. */
|
|
#define ENABLE_BIOS_WINI 0 /* enable BIOS winchester driver */
|
|
#define ENABLE_ESDI_WINI 0 /* enable ESDI winchester driver */
|
|
#define ENABLE_XT_WINI 0 /* enable XT winchester driver */
|
|
#define ENABLE_AHA1540 0 /* enable Adaptec 1540 SCSI driver */
|
|
#define ENABLE_FATFILE 0 /* enable FAT file virtual disk driver */
|
|
#define ENABLE_DOSFILE 0 /* enable DOS file virtual disk driver */
|
|
#define ENABLE_SB16 0 /* enable Soundblaster audio driver */
|
|
#define ENABLE_PCI 1 /* enable PCI device recognition */
|
|
|
|
/* Include or exclude user-level device drivers (and supporting servers). */
|
|
#define ENABLE_PRINTER 1 /* user-level Centronics printer driver */
|
|
#define ENABLE_FLOPPY 1 /* enable floppy disk driver */
|
|
#define ENABLE_AT_WINI 1 /* enable AT winchester driver */
|
|
#define ENABLE_ATAPI 1 /* add ATAPI support to AT driver */
|
|
|
|
/* DMA_SECTORS may be increased to speed up DMA based drivers. */
|
|
#define DMA_SECTORS 1 /* DMA buffer size (must be >= 1) */
|
|
|
|
/* Enable or disable networking drivers. */
|
|
#define ENABLE_DP8390 0 /* enable DP8390 ethernet driver */
|
|
#define ENABLE_WDETH 0 /* add Western Digital WD80x3 */
|
|
#define ENABLE_NE2000 0 /* add Novell NE1000/NE2000 */
|
|
#define ENABLE_3C503 0 /* add 3Com Etherlink II (3c503) */
|
|
#define ENABLE_RTL8139 1 /* enable Realtek 8139 (rtl8139) */
|
|
|
|
/* Include or exclude backwards compatibility code. */
|
|
#define ENABLE_BINCOMPAT 0 /* for binaries using obsolete calls */
|
|
#define ENABLE_SRCCOMPAT 0 /* for sources using obsolete calls */
|
|
|
|
/* Include or exclude security sensitive code, i.e., enable or disable certain
|
|
* code sections that would allow special priviliges to user-level processes.
|
|
*/
|
|
#define ENABLE_USERPRIV 1 /* allow special user mode privileges */
|
|
|
|
/* User mode privileges. Be careful to set these security related features.
|
|
* USERBIOS allows user processes to perform INT86, GLDT86, and SLDT86 MIOC
|
|
* calls; USERIOPL set the CPU's I/O Protection Level bits so that user
|
|
* processes can access I/O on opening /dev/mem/ or /dev/kmem/. In normal
|
|
* operation, only the kernel should be trusted to do all this. Note that
|
|
* ENABLE_USERPRIV must be set to 1 to allow the features anyway.
|
|
*/
|
|
#define ENABLE_USERBIOS 0 /* enable user mode BIOS calls */
|
|
#define ENABLE_USERIOPL 0 /* enable CPU's IOPL bits for /dev/(k)mem */
|
|
|
|
/* NR_CONS, NR_RS_LINES, and NR_PTYS determine the number of terminals the
|
|
* system can handle.
|
|
*/
|
|
#define NR_CONS 4 /* # system consoles (1 to 8) */
|
|
#define NR_RS_LINES 0 /* # rs232 terminals (0 to 4) */
|
|
#define NR_PTYS 0 /* # pseudo terminals (0 to 64) */
|
|
|
|
#define ENABLE_MESSAGE_STATS 0
|
|
|
|
/*===========================================================================*
|
|
* There are no user-settable parameters after this line *
|
|
*===========================================================================*/
|
|
/* Set the CHIP type based on the machine selected. The symbol CHIP is actually
|
|
* indicative of more than just the CPU. For example, machines for which
|
|
* CHIP == INTEL are expected to have 8259A interrrupt controllers and the
|
|
* other properties of IBM PC/XT/AT/386 types machines in general. */
|
|
#define INTEL 1 /* CHIP type for PC, XT, AT, 386 and clones */
|
|
#define M68000 2 /* CHIP type for Atari, Amiga, Macintosh */
|
|
#define SPARC 3 /* CHIP type for SUN-4 (e.g. SPARCstation) */
|
|
|
|
/* Set the FP_FORMAT type based on the machine selected, either hw or sw */
|
|
#define FP_NONE 0 /* no floating point support */
|
|
#define FP_IEEE 1 /* conform IEEE floating point standard */
|
|
|
|
#if (MACHINE == IBM_PC)
|
|
#define CHIP INTEL
|
|
#endif
|
|
|
|
#if (MACHINE == ATARI) || (MACHINE == AMIGA) || (MACHINE == MACINTOSH)
|
|
#define CHIP M68000
|
|
#endif
|
|
|
|
#if (MACHINE == SUN_4) || (MACHINE == SUN_4_60)
|
|
#define CHIP SPARC
|
|
#define FP_FORMAT FP_IEEE
|
|
#endif
|
|
|
|
#if (MACHINE == ATARI) || (MACHINE == SUN_4)
|
|
#define ASKDEV 1 /* ask for boot device */
|
|
#define FASTLOAD 1 /* use multiple block transfers to init ram */
|
|
#endif
|
|
|
|
#if (ATARI_TYPE == TT) /* and all other 68030's */
|
|
#define FPP
|
|
#endif
|
|
|
|
#ifndef FP_FORMAT
|
|
#define FP_FORMAT FP_NONE
|
|
#endif
|
|
|
|
#ifndef MACHINE
|
|
error "In <minix/config.h> please define MACHINE"
|
|
#endif
|
|
|
|
#ifndef CHIP
|
|
error "In <minix/config.h> please define MACHINE to have a legal value"
|
|
#endif
|
|
|
|
#if (MACHINE == 0)
|
|
error "MACHINE has incorrect value (0)"
|
|
#endif
|
|
|
|
#endif /* _CONFIG_H */
|