#
# desktop machines
#

machine		i386

option		CITI

option		I486_CPU
option		I586_CPU
option		I686_CPU

option		XSERVER
option		APERTURE	# in-kernel aperture driver for XFree86

option		TIMEZONE=300
option		DST=0
option		NTP		# High precision timekeeping support

option		SWAPPAGER	# paging; REQUIRED
option		DEVPAGER	# mmap() of devices

option		DDB		# in-kernel debugger
option		DIAGNOSTIC	# internal consistency checks
option		KTRACE		# system call tracing, a la ktrace(1)
option		LKM		# needed for afs

option		SYSVMSG		# System V-like message queues
option		SYSVSEM		# System V-like semaphores
option		SYSVSHM		# System V-like memory sharing

option		COMPAT_43	# and 4.3BSD
option		COMPAT_LINUX	# binary compatibility with Linux
option		COMPAT_FREEBSD	# binary compatibility with FreeBSD
option		COMPAT_BSDOS	# binary compatibility with BSD/OS

option		FFS		# UFS
option		CD9660		# ISO 9660 + Rock Ridge file system
option		MSDOSFS		# MS-DOS file system
option		FIFO		# FIFOs; RECOMMENDED
option		KERNFS		# /kern
option		NULLFS		# loopback file system
option		PROCFS		# /proc
option		UNION		# union file system

option		GATEWAY		# packet forwarding
option		INET		# IP + ICMP + TCP + UDP
option		IPSEC		# IPsec
option		TCP_SACK	# Selective Acknowledgements for TCP
option		PPP_DEFLATE
option		NETATALK

maxusers	64

config		bsd	swap generic

mainbus0 at root

bios0	at mainbus0
apm0	at bios0

isa0	at mainbus0
isa0	at pcib?
pci*	at mainbus0 bus ?

option		PCIVERBOSE
option		PCMCIAVERBOSE

pchb*	at pci? dev ? function ?	# PCI-Host bridges
ppb*	at pci? dev ? function ?	# PCI-PCI bridges
pci*	at ppb? bus ?
pci*	at pchb? bus ?
pcib*	at pci? dev ? function ?	# PCI-ISA bridges (do nothing)

# ISA PCMCIA controllers
pcic0	at isa? port 0x3e0 iomem 0xd0000 iosiz 0x4000
pcic1	at isa? port 0x3e2 iomem 0xd4000 iosiz 0x4000
pcmcia*	at pcic? controller ? socket ?

# PCI USB Controllers
uhci*	at pci?				# Universal Host Controller (Intel)
ohci*	at pci?				# Open Host Controller
usb*	at uhci?
usb*	at ohci?
uhub*	at usb?
uhub*	at uhub? port ? configuration ? interface ?
uhid*	at uhub? port ? configuration ? interface ?
ugen*	at uhub? port ? configuration ? interface ?

npx0	at isa? port 0xf0 irq 13	# math coprocessor
isadma0	at isa?
isapnp0	at isa?

vt0	at isa? port 0x60 irq 1
options	PCVT_NSCREENS=6
options	PCVT_CTRL_ALT_DEL		# three-fingered salute
options	PCVT_INHIBIT_NUMLOCK
options	PCVT_META_ESC			# for "sane" ALT key handling
options	COLOR_KERNEL_FG=FG_CYAN
options COLOR_KERNEL_BG=BG_BLACK

pcppi0	at isa?
sysbeep0	at pcppi?

# Serial ports
pccom0	at isa? port 0x3f8 irq 4	# standard PC serial ports
pccom1	at isa? port 0x2f8 irq 3
pccom2	at isa? port 0x3e8 irq 5
rtfps0	at isa? port 0x1230 irq 9	# RT 4-port serial cards
pccom2	at rtfps? slave ?
pccom*	at rtfps? slave ?
pccom*	at pcmcia? function ?		# PCMCIA modems/serial ports
pccom*	at isapnp?

lpt0	at isa? port 0x378 irq 7	# standard PC parallel ports

pms0	at pckbd? irq 12		# PS/2 auxiliary port mouse

# SCSI
aha0	at isa? port 0x330 irq ? drq ?	# Adaptec 154[02] SCSI controllers
aha1	at isa? port 0x334 irq ? drq ?	# Soundblaster wants 0x330
scsibus* at aha?
ahc*	at pci? dev ? function ?	# Adaptec 2940 SCSI controllers
scsibus* at ahc?
ncr*	at pci? dev ? function ?	# NCR 538XX SCSI controllers
scsibus* at ncr?

sd*	at scsibus? target ? lun ?	# SCSI disk drives
cd*	at scsibus? target ? lun ?	# SCSI CD-ROM drives
uk*	at scsibus? target ? lun ?	# unknown SCSI

# Floppy
fdc0	at isa? port 0x3f0 irq 6 drq 2	# standard PC floppy controllers
fd0	at fdc0 drive 0 flags 0x32	# don't auto-detect, assume 1.44 MB
fd1	at fdc0 drive 1

# IDE controllers
pciide* at pci ? dev ? function ? flags 0x0000

wdc0	at isa? port 0x1f0 irq 14 flags 0x00
wdc1	at isa? port 0x170 irq 15 flags 0x00
wdc*	at pcmcia? function ?
wdc*	at isapnp?

# IDE hard drives
wd*	at wdc? channel ? drive ? flags 0x0000
wd*	at pciide? channel ? drive ? flags 0x0000

# ATAPI<->SCSI
atapiscsi* at wdc? channel ?
atapiscsi* at pciide? channel ?
scsibus* at atapiscsi?

# Network
de*	at pci? dev ? function ?		# DC21X4X-based ethernet cards
ec0	at isa? port 0x250 iomem 0xd8000 irq 9	# 3C503 ethernet
ep0	at isa? port ? irq ?			# 3C509 ethernet cards
ep*	at isapnp?				# 3C509 PnP ethernet cards
ep0	at pci? dev ? function ?		# 3C59x ethernet cards
xl*	at pci? dev ? function ?		# 3c9xx Ethernet
ne*	at pcmcia? function ?			# PCMCIA based NE2000 cards
ep0	at pcmcia? function ?			# PCMCIA based 3C5xx cards
sm*	at pcmcia? function ?			# PCMCIA based sm cards
wi*	at pcmcia? function ?			# WaveLAN IEEE 802.11

# Media Independent Interface (mii) drivers
exphy*	at mii? phy ?				# 3Com internal PHYs

# Audio
sb0	at isa? port 0x220 irq 5 drq 1		# SoundBlaster
sb*	at isapnp?
audio*  at sb?
spkr0	at pcppi?		# PC speaker

pseudo-device	loop	1	# network loopback
pseudo-device	bpfilter 8	# packet filter
pseudo-device	ppp	6	# PPP
pseudo-device	tun	2	# network tunneling over tty
pseudo-device	ksyms	1	# kernel symbols device
pseudo-device	enc	4	# IPSEC needs the encapsulation interface

pseudo-device	pty	64		# pseudo-terminals
pseudo-device	vnd	4		# paging to files
