#
# GENERIC -- Generic kernel configuration file for FreeBSD/i386
#
# For more information on this file, please read the handbook section on
# Kernel Configuration Files:
#
#    http://www.FreeBSD.org/handbook/kernelconfig-config.html
#
# The handbook is also available locally in /usr/share/doc/handbook
# if you've installed the doc distribution, otherwise always see the
# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the
# latest information.
#
# An exhaustive list of options and more detailed explanations of the
# device lines is also present in the ./LINT configuration file. If you are
# in doubt as to the purpose or necessity of a line, check first in LINT.
#
# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.246.2.33 2001/07/30 17:31:40 wpaul Exp $

machine		i386
#cpu		I386_CPU
#cpu		I486_CPU
cpu		I586_CPU
cpu		I686_CPU
options 	CPU_SUSP_HLT
options 	CPU_WT_ALLOC
options 	NO_F00F_HACK
#options 	CPU_ATHLON_SSE_HACK
#options 	CPU_ENABLE_SSE
ident		glip
maxusers	128
#options 	KVA_PAGES=384
#options 	DISABLE_PSE
#options 	MAXDSIZ="(2047*1024*1024)"
options 	MAXSSIZ="(256*1024*1024)"
options 	INCLUDE_CONFIG_FILE	# Include this file in kernel
options 	MSGBUF_SIZE=262144
options 	INVARIANTS
options 	INVARIANT_SUPPORT
#options 	DIAGNOSTIC
#options 	AUTO_EOI_1
#options 	AUTO_EOI_2
options 	CLK_USE_I8254_CALIBRATION
options 	CLK_USE_TSC_CALIBRATION

makeoptions	DEBUG=-g		#Build kernel with gdb(1) debug symbols

#options 	MATH_EMULATE		#Support for x87 emulation
options 	INET			#InterNETworking
options 	INET6			#IPv6 communications protocols
options 	FFS			#Berkeley Fast Filesystem
options 	FFS_ROOT		#FFS usable as root device [keep this!]
options 	SOFTUPDATES		#Enable FFS soft updates support
options 	UFS_DIRHASH		#Improve performance on big directories
options 	MFS			#Memory Filesystem
#options 	MD_ROOT			#MD is a potential root device
options 	NFS			#Network Filesystem
#options 	NFS_ROOT		#NFS usable as root device, NFS required
#options 	SMBFS			#SMB/CIFS filesystem
#options 	MSDOSFS			#MSDOS Filesystem
options 	CD9660			#ISO 9660 Filesystem
#options 	CD9660_ROOT		#CD-ROM usable as root, CD9660 required
options 	PROCFS			#Process filesystem
options 	QUOTA			#enable disk quotas
#options 	VFS_AIO
#options 	SUIDDIR
options 	COMPAT_43		#Compatible with BSD 4.3 [KEEP THIS!]
options 	SCSI_DELAY=10000 	#Delay (in ms) before probing SCSI
options 	UCONSOLE		#Allow users to grab the console
options 	USERCONFIG		#boot -c editor
options 	VISUAL_USERCONFIG	#visual boot -c editor
options 	KTRACE			#ktrace(1) support
options 	SYSVSHM			#SYSV-style shared memory
options 	SYSVMSG			#SYSV-style message queues
options 	SYSVSEM			#SYSV-style semaphores
options 	SHMALL=16384
options 	MSGMNB=65536
options 	SHMMAX="(SHMMAXPGS*PAGE_SIZE+1)"
options 	SHMMAXPGS=8192
options 	SHMMIN=128
options 	SHMMNI=256
options 	SHMSEG=256
options 	SEMMNI=32	# number of semaphore identifiers in the system
options 	SEMMNS=512	# number of semaphores in the system
options 	SEMMAP=128	# amount of entries in semaphore map
options 	NSWAPDEV=2
options 	P1003_1B		#Posix P1003_1B real-time extensions
options 	_KPOSIX_PRIORITY_SCHEDULING
options 	_KPOSIX_VERSION=199309L
options		ICMP_BANDLIM		#Rate limit bad replies
options 	KBD_INSTALL_CDEV	# install a CDEV entry in /dev
options 	USER_LDT		#allow user-level control of i386 ldt
options 	PERFMON
options 	NETGRAPH		#netgraph(4) system
options 	MYLOOP_MASKLEN=24
#options 	IPV6FIREWALL		#firewall for IPv6
#options 	IPV6FIREWALL_VERBOSE
#options 	IPV6FIREWALL_VERBOSE_LIMIT=100
options 	IPFIREWALL		#firewall
options 	IPFIREWALL_VERBOSE	#print information about
					# dropped packets
options 	IPFW2
options 	IPFIREWALL_FORWARD	#enable transparent proxy support
options 	IPFIREWALL_VERBOSE_LIMIT=100	#limit verbosity
options 	IPFIREWALL_DEFAULT_TO_ACCEPT	#allow everything by default
options 	IPDIVERT		#divert sockets
options 	IPFILTER		#ipfilter support
options 	IPFILTER_LOG		#ipfilter logging
#options 	IPSTEALTH		#support for stealth forwarding
options 	RANDOM_IP_ID
options 	DUMMYNET
options 	BRIDGE
options 	LIBICONV		# Kernel side iconv library
#options 	LIBMCHAIN		#mbuf management library
#options 	NETSMB			#SMB/CIFS requester
#options 	NETSMBCRYPTO		#encrypted password support for SMB

# To make an SMP kernel, the next two are needed
#options 	SMP			# Symmetric MultiProcessor Kernel
#options 	APIC_IO			# Symmetric (APIC) I/O
# Optionally these may need tweaked, (defaults shown):
#options 	NCPU=2			# number of CPUs
#options 	NBUS=4			# number of busses
#options 	NAPIC=1			# number of IO APICs
#options 	NINTR=24		# number of INTs

device		isa
device		eisa
device		pci

# Floppy drives
device		fdc0	at isa? port IO_FD1 irq 6 drq 2
device		fd0	at fdc0 drive 0
device		fd1	at fdc0 drive 1
#
# If you have a Toshiba Libretto with its Y-E Data PCMCIA floppy,
# don't use the above line for fdc0 but the following one:
#device		fdc0
#device		fla0	at isa?

# ATA and ATAPI devices
device		ata0	at isa? port IO_WD1 irq 14
device		ata1	at isa? port IO_WD2 irq 15
device		ata
device		atadisk			# ATA disk drives
device		atapicd			# ATAPI CDROM drives
device		atapifd			# ATAPI floppy drives
device		atapist			# ATAPI tape drives
options 	ATA_STATIC_ID		#Static device numbering
#options 	ATA_ENABLE_ATAPI_DMA	#Enable DMA on ATAPI devices

# SCSI Controllers
device		ahb		# EISA AHA1742 family
device		ahc		# AHA2940 and onboard AIC7xxx devices
options 	AHC_ALLOW_MEMIO
device		amd		# AMD 53C974 (Tekram DC-390(T))
device		isp		# Qlogic family
device		ispfw		# Firmware for QLogic HBAs
device		ncr		# NCR/Symbios Logic
device		sym		# NCR/Symbios Logic (newer chipsets)
options		SYM_SETUP_LP_PROBE_MAP=0x40
				# Allow ncr to attach legacy NCR devices when 
				# both sym and ncr are configured
device		trm		# Tekram DC395U/UW/F and DC315U

device		adv0	at isa?
device		adw
device		bt0	at isa?
device		aha0	at isa?
device		aic0	at isa?

device		ncv		# NCR 53C500
device		nsp		# Workbit Ninja SCSI-3
device		stg		# TMC 18C30/18C50

# SCSI peripherals
# Fixed numbers
#device		scbus0 at ahc0
#device		da0 at scbus0 target 0
#device		da1 at scbus0 target 1
#device		da2 at scbus0 target 2
#device		da4 at scbus0 target 4
#device		da7 at scbus0 target 9

device		scbus		# SCSI bus (required)
device		da		# Direct Access (disks)
device		sa		# Sequential Access (tape etc)
device		cd		# CD
device		pass		# Passthrough device (direct SCSI access)
device		ch		#SCSI media changers
device		pt		#SCSI processor type
device		ses		#SCSI SES/SAF-TE driver

# RAID controllers interfaced to the SCSI subsystem
device		asr		# DPT SmartRAID V, VI and Adaptec SCSI RAID
device		dpt		# DPT Smartcache - See LINT for options!
device          iir             # Intel Integrated RAID
device		mly		# Mylex AcceleRAID/eXtremeRAID
device		ciss		# Compaq SmartRAID 5* series

# RAID controllers
device		aac		# Adaptec FSA RAID, Dell PERC2/PERC3
device		aacp		# SCSI passthrough for aac (requires CAM)
device		ida		# Compaq Smart RAID
device		amr		# AMI MegaRAID
device		mlx		# Mylex DAC960 family
device		twe		# 3ware Escalade

# atkbdc0 controls both the keyboard and the PS/2 mouse
device		atkbdc0	at isa? port IO_KBD
device		atkbd0	at atkbdc? irq 1
device		psm0	at atkbdc? irq 12
device		vga0	at isa?
options 	VGA_WIDTH90		# support 90 column modes

options 	VESA
device		agp

# splash screen/screen saver
pseudo-device	splash

# syscons is the default console driver, resembling an SCO console
device		sc0	at isa? flags 0x100
options 	SC_HISTORY_SIZE=2118	# number of history buffer lines
options 	SC_MOUSE_CHAR=0x3	# char code for text mode mouse cursor
options 	SC_NORM_ATTR="(FG_BROWN|BG_BLACK)"
options 	SC_NORM_REV_ATTR="(FG_BLACK|BG_RED)"
options 	SC_KERNEL_CONS_ATTR="(FG_YELLOW|BG_BROWN)"
options 	SC_KERNEL_CONS_REV_ATTR="(FG_WHITE|BG_RED)"

# Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver
#device		vt0	at isa?
#options 	XSERVER			# support for X server on a vt console
#options 	FAT_CURSOR		# start with block cursor
# If you have a ThinkPAD, uncomment this along with the rest of the PCVT lines
#options 	PCVT_SCANSET=2		# IBM keyboards are non-std

# Floating point support - do not disable.
device		npx0	at nexus? port IO_NPX irq 13

# Power management support (see LINT for more options)
device		apm0    at nexus? disable flags 0x20 # Advanced Power Management

# PCCARD (PCMCIA) support
device		card
device		pcic0	at isa? irq 0 port 0x3e0 iomem 0xd0000
device		pcic1	at isa? irq 0 port 0x3e2 iomem 0xd4000 disable

# Serial (COM) ports
options 	CONSPEED=115200
#options 	COM_ESP			#code for Hayes ESP
options 	COM_MULTIPORT		#code for some cards with shared IRQs
device		sio0	at isa? port IO_COM1 flags 0x10 irq 4
device		sio1	at isa? port IO_COM2 flags 0x00 irq 3
device		sio2	at isa? port IO_COM3 flags 0x00 irq 5
device		sio3	at isa? disable port IO_COM4 flags 0x00 irq 9
device		dgb0	at isa? disable port 0x320 iomem 0xd0000 flags 0x01
options 	NDGBPORTS=8	# Defaults to 16*NDGB
#device		dgm0	at isa? port 0x104 iomem 0xd0000 flags 0x01

# Parallel port
device		ppc0	at isa? irq 7
device		ppbus		# Parallel port bus (required)
device		lpt		# Printer
device		plip		# TCP/IP over parallel
device		ppi		# Parallel port interface device
device		vpo		# Requires scbus and da
device		pps		# Pulse per second Timing Interface
device		lpbb		# Philips parallel port I2C bit-banging interface
#options 	PERIPH_1284	# Makes your computer act as a IEEE1284
				# compliant peripheral

device		puc		# PCI Universal Communications driver
#options 	PUC_FASTINTR
options 	DEVICE_POLLING

# PCI Ethernet NICs.
device		de		# DEC/Intel DC21x4x (``Tulip'')
device		txp		# 3Com 3cR990 (``Typhoon'')
device		vx		# 3Com 3c590, 3c595 (``Vortex'')

# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device		miibus		# MII bus support
device		dc		# DEC/Intel 21143 and various workalikes
device		fxp		# Intel EtherExpress PRO/100B (82557, 82558)
device		pcn		# AMD Am79C97x PCI 10/100 NICs
device		rl		# RealTek 8129/8139
device		sf		# Adaptec AIC-6915 (``Starfire'')
device		sis		# Silicon Integrated Systems SiS 900/SiS 7016
device		ste		# Sundance ST201 (D-Link DFE-550TX)
device		tl		# Texas Instruments ThunderLAN
device		tx		# SMC EtherPower II (83c170 ``EPIC'')
device		vr		# VIA Rhine, Rhine II
device		wb		# Winbond W89C840F
device		wx		# Intel Gigabit Ethernet Card (``Wiseman'')
device		xl		# 3Com 3c90x (``Boomerang'', ``Cyclone'')
device		bge		# Broadcom BCM570x (``Tigon III'')
device		em		# Intel Pro/1000 (82542,82543,82544,82540)

# ISA Ethernet NICs.
# 'device ed' requires 'device miibus'
device		ed0	at isa? port 0x280 irq 10 iomem 0xd8000
device		ex
device		ep
device		fe0	at isa? port 0x300
# Xircom Ethernet
device		xe
# PRISM I IEEE 802.11b wireless NIC.
device		awi
# WaveLAN/IEEE 802.11 wireless NICs. Note: the WaveLAN/IEEE really
# exists only as a PCMCIA device, so there is no ISA attachment needed
# and resources will always be dynamically assigned by the pccard code.
device		wi
# Aironet 4500/4800 802.11 wireless NICs. Note: the declaration below will
# work for PCMCIA and PCI cards, as well as ISA cards set to ISA PnP
# mode (the factory default). If you set the switches on your ISA
# card for a manually chosen I/O address and IRQ, you must specify
# those parameters here.
device		an
# The probe order of these is presently determined by i386/isa/isa_compat.c.
device		ie0	at isa? port 0x300 irq 10 iomem 0xd0000
#device		le0	at isa? port 0x300 irq 5 iomem 0xd0000
device		lnc0	at isa? port 0x280 irq 10 drq 0
device		cs0	at isa? port 0x300
device		sn0	at isa? port 0x300 irq 10

# Pseudo devices - the number indicates how many units to allocate.
pseudo-device	loop	4	# Network loopback
pseudo-device	ether		# Ethernet support
pseudo-device	vlan	4	#VLAN support
#pseudo-device	sl	4	# Kernel SLIP
pseudo-device	ppp	1	# Kernel PPP
options 	PPP_BSDCOMP	#PPP BSD-compress support
options 	PPP_DEFLATE	#PPP zlib/deflate/gzip support
options 	PPP_FILTER	#enable bpf filtering (needs bpf)
pseudo-device	tun		# Packet tunnel.
pseudo-device	pty		# Pseudo-ttys (telnet etc)
#pseudo-device	md		# Memory "disks"
pseudo-device	speaker		#Play IBM BASIC-style noises out your speaker
pseudo-device	gzip		#Exec gzipped a.out's
pseudo-device	vn	8	#Vnode driver (turns a file into a device)
#pseudo-device	streams		#STREAMS network driver (required for svr4).
pseudo-device	disc	32	#Discard device (ds0, ds1, etc)
pseudo-device	tap		#Ethernet tunnel driver (tap(4))
#pseudo-device	ef			# Multiple ethernet frames support
#options 	ETHER_II		# enable Ethernet_II frame
#options 	ETHER_8023		# enable Ethernet_802.3 (Novell) frame
#options 	ETHER_8022		# enable Ethernet_802.2 frame
#options 	ETHER_SNAP		# enable Ethernet_802.2/SNAP frame
# for IPv6
pseudo-device	gif		# IPv6 and IPv4 tunneling
pseudo-device	faith	1	# IPv6-to-IPv4 relaying (translation)
pseudo-device	stf	1	#6to4 IPv6 over IPv4 encapsulation

# The `bpf' pseudo-device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
pseudo-device	bpf		#Berkeley packet filter
pseudo-device	snp	3	#Snoop device - to look at pty/vty/etc..
pseudo-device	ccd	4	#Concatenated disk driver

# USB support
device		uhci		# UHCI PCI->USB interface
device		ohci		# OHCI PCI->USB interface
device		usb		# USB Bus (required)
device		ugen		# Generic
device		ucom
device		uplcom
device		uvscom
device		uvisor
device		uftdi
device		uhid		# "Human Interface Devices"
device		ukbd		# Keyboard
device		ulpt		# Printer
device		umass		# Disks/Mass storage - Requires scbus and da
device		ums		# Mouse
device		uscanner	# Scanners
device		urio		# Diamond Rio MP3 Player
device		umodem		# USB modem support
device		ufm		# Fm Radio
# USB Ethernet, requires mii
device		aue		# ADMtek USB ethernet
device		cue		# CATC USB ethernet
device		kue		# Kawasaki LSI USB ethernet

#device		pcm
device		pca0	at isa? port IO_TIMER1
device		mcd0	at isa? port 0x300 irq 10
	# for the Sony CDU31/33A CDROM
device		scd0	at isa? port 0x230
device		joy0	at isa? port IO_GAME
device		smbus
device		intpm
device		alpm
device		viapm
device		ichsmb
device		smb
device		iicbus
device		iicbb
device		bktr
device		ic
device		iic
device		iicsmb		# smb over i2c bridge