#
# GENERIC -- Generic machine with WD/AHx/NCR/BTx family disks
#
# For more information read the handbook part System Administration -> 
# Configuring the FreeBSD Kernel -> The Configuration File. 
# The handbook is available in /usr/share/doc/handbook or online as
# latest version from the FreeBSD World Wide Web server 
# URL:http://www.FreeBSD.ORG/
#
# An exhaustive list of options and more detailed explanations of the 
# device lines is present in the ./LINT configuration file. If you are 
# in doubt as to the purpose or necessity of a line, check first in LINT.
#
#	$Id: GENERIC,v 1.125 1998/10/16 01:30:11 obrien Exp $

machine		"i386"
#cpu		"I386_CPU"
#cpu		"I486_CPU"
#cpu		"I586_CPU"
cpu		"I686_CPU"
ident		"Daemon2"
maxusers	32

options		MATH_EMULATE		#Support for x87 emulation
options		INET			#InterNETworking
options		FFS			#Berkeley Fast Filesystem
options		FFS_ROOT		#FFS usable as root device [keep this!]
options		MFS			#Memory Filesystem
options		MFS_ROOT		#MFS usable as root device, "MFS" req'ed
options		NFS			#Network Filesystem
options		NFS_ROOT		#NFS usable as root device, "NFS" req'ed
options		MSDOSFS			#MSDOS Filesystem
options		"CD9660"		#ISO 9660 Filesystem
options		"CD9660_ROOT"		#CD-ROM usable as root. "CD9660" req'ed
options		PROCFS			#Process filesystem
options		"COMPAT_43"		#Compatible with BSD 4.3 [KEEP THIS!]
options		SCSI_DELAY=10000	#Be pessimistic about Joe SCSI device
options		UCONSOLE		#Allow users to grab the console
options		FAILSAFE		#Be conservative
options		USERCONFIG		#boot -c editor
options		VISUAL_USERCONFIG	#visual boot -c editor

config		kernel	root on wd0

controller	isa0
controller	eisa0
controller	pci0
controller	pnp0

controller	usb0
controller	uhci0
controller	ohci0
device		uhub0
device		ugen0
device		ulpt0

controller	fdc0	at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr
disk		fd0	at fdc0 drive 0
#disk		fd1	at fdc0 drive 1
# Unless you know very well what you're doing, leave ft0 at drive 2, or
# remove the line entirely if you don't need it.  Trying to configure
# it on another unit might cause surprises, see PR kern/7176.
#tape		ft0	at fdc0 drive 2

options		"CMD640"	# work around CMD640 chip deficiency
controller	wdc0	at isa? port "IO_WD1" bio irq 14 vector wdintr
disk		wd0	at wdc0 drive 0
#disk		wd1	at wdc0 drive 1

controller	wdc1	at isa? port "IO_WD2" bio irq 15 vector wdintr
#disk		wd2	at wdc1 drive 0
disk		wd1	at wdc1 drive 0
#disk		wd3	at wdc1 drive 1

options		ATAPI		#Enable ATAPI support for IDE bus
options		ATAPI_STATIC	#Don't do it as an LKM
#device		wcd0		#IDE CD-ROM
device		wfd0		#IDE Floppy (e.g. LS-120)

# A single entry for any of these controllers (ncr, ahb, ahc, amd) is
# sufficient for any number of installed devices.
#controller	ncr0
#controller	amd0
#controller	ahb0
controller	ahc0
#controller	isp0

# This controller offers a number of configuration options, too many to
# document here  - see the LINT file in this directory and look up the
# dpt0 entry there for much fuller documentation on this.
#controller      dpt0

#controller	adv0	at isa? port ? cam irq ?
#controller	adw0
#controller	bt0	at isa? port ? cam irq ?
#controller	aha0	at isa? port ? cam irq ?
#controller	uha0	at isa? port "IO_UHA0" bio irq ? drq 5 vector uhaintr
#controller	aic0	at isa? port 0x340 bio irq 11 vector aicintr
#controller	nca0	at isa? port 0x1f88 bio irq 10 vector ncaintr
#controller	nca1	at isa? port 0x350 bio irq 5 vector ncaintr

controller	scbus0

device		da0

device		sa0

device		pass0

device		cd0	#Only need one of these, the code dynamically grows
device		od0

#device		wt0	at isa? port 0x300 bio irq 5 drq 1 vector wtintr
#device		mcd0	at isa? port 0x300 bio irq 10 vector mcdintr

#controller	matcd0	at isa? port 0x230 bio

#device		scd0	at isa? port 0x230 bio

# syscons is the default console driver, resembling an SCO console
#device		sc0	at isa? port "IO_KBD" conflicts tty irq 1 vector scintr
device		sc0	at isa?	tty
# Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver
#device		vt0	at isa? port "IO_KBD" conflicts tty irq 1 vector pcrint
options		XSERVER			# support for X server
#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

device		npx0	at isa? port "IO_NPX" irq 13 vector npxintr

#
# Laptop support (see LINT for more options)
#
device		apm0    at isa?	disable	flags 0x31 # Advanced Power Management

# PCCARD (PCMCIA) support
pseudo-device card 1
controller	card0
device		pcic0 	at isa? port 0x3e0 irq 10 vector pcicintr
#device		pcic0 	at isa? port 0x3e0 vector pcicintr
#device		pcic0	at card?
device		pcic1	at card?

#device		sio0	at isa? port "IO_COM1" flags 0x10 tty irq 4 vector siointr
device		sio0	at isa? port 0x3f8 tty irq 4 vector siointr
#device		sio1	at isa? port "IO_COM2" tty irq 3 vector siointr
device		sio1	at isa? port 0x2f8 tty irq 3 vector siointr
#device		sio2	at isa? disable port "IO_COM3" tty irq 5 vector siointr
device		sio2	at isa? port 0x3e8 tty irq 11 vector siointr
#device		sio3	at isa? disable port "IO_COM4" tty irq 9 vector siointr
device		sio3

#device		lpt0	at isa? port? tty irq 7 vector lptintra
# Parallel port 
#device          ppc0    at isa? port? flags 0x40 net irq 7
#controller      ppbus0
#device          lpt0    at ppbus?
#device          plip0   at ppbus?
#device          ppi0    at ppbus?

#controller     vpo0    at ppbus?

# atkbdc0 controlls both the keyboard and the PS/2 mouse
controller      atkbdc0 at isa? port IO_KBD tty
device          atkbd0  at isa? tty irq 1
device          psm0    at isa? tty irq 12
device          vga0    at isa? port ? conflicts

# splash screen/screen saver
pseudo-device	splash

# Order is important here due to intrusive probes, do *not* alphabetize
# this list of network interfaces until the probes have been fixed.
# Right now it appears that the ie0 must be probed before ep0. See
# revision 1.20 of this file.
device de0
#device fxp0
#device tl0
#device tx0
#device vx0
#device xl0

#device ed0 at isa? port 0x280 net irq 10 iomem 0xd8000 vector edintr
#device ie0 at isa? port 0x300 net irq 10 iomem 0xd0000 vector ieintr
#device ep0 at isa? port 0x300 net irq 10 vector epintr
#device ex0 at isa? port? net irq? vector exintr
#device fe0 at isa? port 0x300 net irq ? vector feintr
#device le0 at isa? port 0x300 net irq 5 iomem 0xd0000 vector le_intr
#device lnc0 at isa? port 0x280 net irq 10 drq 0 vector lncintr
#device ze0 at isa? port 0x300 net irq 10 iomem 0xd8000 vector zeintr
#device zp0 at isa? port 0x300 net irq 10 iomem 0xd8000 vector zpintr
#device cs0 at isa? port 0x300 net irq ? vector csintr

pseudo-device	loop
pseudo-device	ether
pseudo-device	sl	1
pseudo-device	ppp	2
pseudo-device	tun	2
pseudo-device	pty	16
pseudo-device	gzip		# Exec gzipped a.out's

# KTRACE enables the system-call tracing facility ktrace(2).
# This adds 4 KB bloat to your kernel, and slightly increases
# the costs of each syscall.
options		KTRACE		#kernel tracing

# This provides support for System V shared memory.
#
options		SYSVSHM
options         SYSVSEM
options         SYSVMSG


#  The `bpfilter' pseudo-device enables the Berkeley Packet Filter.  Be
#  aware of the legal and administrative consequences of enabling this
#  option.  The number of devices determines the maximum number of
#  simultaneous BPF clients programs runnable.
pseudo-device	bpfilter	4	#Berkeley packet filter

controller smbus0
device smb0     at smbus?

controller iicbus0
controller iicbb0
device ic0      at iicbus?
device iic0     at iicbus?
device iicsmb0  at iicbus?

device          bktr0
options         USER_LDT                #allow user-level control of i386 ldt
options         OVERRIDE_CARD=4
options         OVERRIDE_TUNER=4
options         DEFAULT_CHNLSET=5

#controller      snd0
#device pcm0 at isa? port ? tty irq 9 drq 1 flags 0x0 vector pcmintr
#device pcm0 at isa ? port? tty irq 9 drq 1 vector pcmintr
#device pcm1 at isa ? port? tty irq 7 drq 1 vector pcmintr
#device pas0     at isa? port 0x388 irq 10 drq 6 vector pasintr
#device sb0      at isa? port 0x220 irq 9 drq 1 vector sbintr
#device sbxvi0   at isa? drq 5
#device sbmidi0  at isa? port 0x330
#device awe0     at isa? port 0x620
#device gus0 at isa? port 0x220 irq 9 drq 1 vector gusintr
#device gus1 at isa? port 0x220 irq 7 drq 1 vector gusintr
#options GUS_DMA2
#options GUS_DMA=1
#options GUS_IRQ=9
#device pca0 at isa? port IO_TIMER1 tty