#
# Thinkpad 240
#

machine		i386

option		CITI
option		TP240

option		I686_CPU

option		USER_PCICONF	# user-space PCI configuration
option		APERTURE	# in-kernel aperture driver for XFree86
option		BOOT_CONFIG	# add support for boot -c

#option		TIMEZONE=300
option		DST=0

option		DDB		# in-kernel debugger
option		DIAGNOSTIC	# internal consistency checks
option		KTRACE		# system call tracing, a la ktrace(1)
option		KMEMSTATS	# collect malloc(9) statistics
option		PTRACE		# ptrace(2) system call
option		LKM		# needed for afs
option		CRYPTO		# Cryptographic framework

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

option		COMPAT_23	# Kernel compatibility with OpenBSD 2.3,
option		COMPAT_25	# 2.5,
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		FFS_SOFTUPDATES	# Soft updates
option		CD9660		# ISO 9660 + Rock Ridge file system
option		EXT2FS		# Linux ext2fs
option		MSDOSFS		# MS-DOS file system
option		FIFO		# FIFOs; RECOMMENDED
option		KERNFS		# /kern
option		PROCFS		# /proc

option		NFSCLIENT	# Network File System client
option		NFSSERVER	# Network File System server

option		GATEWAY		# packet forwarding
option		INET		# IP + ICMP + TCP + UDP
option		ALTQ		# ALTQ base
option		IPSEC		# IPsec
option		TCP_SACK	# Selective Acknowledgements for TCP
option		TCP_ECN		# Explicit Congestion Notification for TCP
option		PPP_DEFLATE

maxusers	16

config		bsd	root on wd0a swap on wd0b and vnd0c

mainbus0 at root

bios0	at mainbus0
apm0	at bios0 flags 0x10000	# don't disable interrupts
pcibios0 at bios0 flags 0x0000	# use 0x30 for a total verbose

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

option		PCIVERBOSE
option		PCMCIAVERBOSE
option		USBVERBOSE

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 bridge

# ISA PCMCIA controllers
pcic0	at isa? port 0x3e0 iomem 0xd0000 iosiz 0x10000

# PCMCIA bus support
pcmcia*	at pcic? controller ? socket ?

# CardBus bus support
cardbus*	at cardslot?
pcmcia*		at cardslot?
cbb*		at pci? dev ? function ?
cardslot*	at cbb?

# PCI USB Controllers
uhci*	at pci?				# Universal Host Controller (Intel)

# USB bus support
usb*	at uhci?

uhub*	at usb?				# USB Hubs
uhub*	at uhub? port ? configuration ?	# USB Hubs
umodem*	at uhub? port ? configuration ?	# USB Modems/Serial
ucom*	at umodem?
uvisor*	at uhub? port ? configuration ?	# Handspring Visor
ucom*	at uvisor?
ubsa*	at uhub? port ?			# Belkin serial adapter
ucom*	at ubsa? portno ?
uftdi*	at uhub? port ?			# FTDI FT8U100AX serial adapter
ucom*	at uftdi? portno ?
uplcom* at uhub? port ?			# I/O DATA USB-RSAQ2 serial adapter
ucom*	at uplcom? portno ?
uaudio* at uhub? port ? configuration ?	# USB Audio
ulpt*	at uhub? port ? configuration ? # USB Printers
umass*	at uhub? port ? configuration ? # USB Mass Storage devices
scsibus* at umass?
uhidev*	at uhub? port ? configuration ? interface ?
ums*	at uhidev? reportid ?
wsmouse* at ums? mux 0
ukbd*	at uhidev? reportid ?
wskbd*	at ukbd? console ? mux 1
uhid*	at uhidev? reportid ?
urio*	at uhub? port ?			# Diamond Multimedia Rio 500
ugen*	at uhub? port ? configuration ? # USB Generic driver

puc*	at pci?				# PCI "universal" communication device

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

option	WSDISPLAY_COMPAT_USL		# VT handling
option	WSDISPLAY_COMPAT_RAWKBD		# can get raw scancodes
option	WSDISPLAY_DEFAULTSCREENS=6
option	WSDISPLAY_COMPAT_PCVT		# emulate some ioctls
option	WS_KERNEL_FG=WSCOL_CYAN
option	WS_KERNEL_BG=WSCOL_BLACK

pckbc0		at isa?			# PC keyboard controller
pckbd*		at pckbc?		# PC keyboard
pms*		at pckbc?		# PS/2 mouse for wsmouse
pmsi*		at pckbc?		# PS/2 "Intelli"mouse for wsmouse
vga*		at pci? dev ? function ?
wsdisplay*	at vga? console ?
wskbd*		at pckbd? console ?
wsmouse*	at pms? mux 0
wsmouse*	at pmsi? mux 0

pcppi0		at isa?
sysbeep0	at pcppi?

#pccom0	at isa? port 0x3f8 irq 4	# stupid loser modem
pccom0	at isa? port 0x2f8 irq 3	# serial port
pccom1	at pcmcia? function ?		# PCMCIA modem cards
pccom2	at isa? port 0x3e8 irq 4	# IR

lpt0	at isa? port 0x378 irq 7

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

# 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

# IDE controllers
pciide0 at pci ? dev ? function ? flags 0x0000
wdc*	at pcmcia? function ?

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

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

# Network
ne*	at pcmcia? function ?			# PCMCIA based NE2000 cards
ep*	at pcmcia? function ?			# PCMCIA based 3C5xx cards
sm*	at pcmcia? function ?			# PCMCIA based sm cards
wi*	at pcmcia? function ?			# WaveLAN IEEE 802.11
xl*	at cardbus? dev ? function ?		# 3C575/3C656 ethernet

# Media Independent Interface (mii) drivers
exphy*	at mii? phy ?				# 3Com internal PHYs
tqphy*	at mii? phy ?				# TDK 78Q212x PHYs
ukphy*	at mii? phy ?				# "unknown" PHYs

# Audio
spkr0	at pcppi?		# PC speaker
eso*	at pci? dev ? function ?		# ESS Solo-1 PCI AudioDrive
opl*	at eso?
midi*	at pcppi?		# MIDI interface to the PC speaker
midi*	at opl?			# OPL FM synth
audio*	at eso?

pseudo-device	loop	2	# network loopback
pseudo-device	bpfilter 8	# packet filter
pseudo-device	ppp	2	# PPP
pseudo-device	tun	1	# network tunneling over tty
pseudo-device	enc	1	# option IPSEC needs the encapsulation interface
pseudo-device	gre	1	# GRE encapsulation interface
pseudo-device	pctr		1
pseudo-device	mtrr		1	# Memory range attributes control
pseudo-device	sequencer	1
pseudo-device	bio		1	# ioctl multiplexing device

pseudo-device	pty	32	# pseudo-terminals
pseudo-device	vnd	4	# paging to files
pseudo-device	ksyms	1	# kernel symbols device

# mouse & keyboard multiplexor pseudo-devices
pseudo-device	wsmux		2
pseudo-device	crypto		1

# for IPv6
pseudo-device	gif		4
