Subject: panic mounting ext2fs
To: None <port-i386@netbsd.org>
From: Brian Grayson \(home\) <bgrayson@austin.rr.com>
List: port-i386
Date: 11/21/2001 00:22:57
  I'm running a -current kernel from a SUP around Nov 11.  I'm getting
the following panic:

panic: kernel diagnostic assertion "bn >= NDADDR" failed: file "/home/src/sys/ar
ch/i386/compile/K97/../../../../ufs/ufs/ufs_bmap.c", line 262

  My kernel config is not unusual (although it has DIAGNOSTIC and
POOL_DIAGNOSTIC enabled), but I'm attaching it to this message
anyway.

  I produce the panic reliably by:

mount /dev/wd0l /mnt
ls /mnt

  I added some printf's, and found out the assert triggers when it is
accessing inode 2 (the bad-blocks/unused inode, right?), which has a "bn"
of 0 in the call to ufs_getlbns.

  Here's the backtrace:
#10 0xc014e18c in panic ()
#11 0xc02d00b1 in __assert ()
#12 0xc024298f in ufs_getlbns ()
#13 0xc021e7a7 in ext2fs_bmaparray ()
#14 0xc021e6f3 in ext2fs_bmap ()
#15 0xc016d513 in VOP_BMAP ()
#16 0xc0246625 in ufs_strategy ()
#17 0xc016cd40 in VOP_STRATEGY ()
#18 0xc016261e in bread ()
#19 0xc0220c2c in ext2fs_read ()
#20 0xc016cfa0 in VOP_READ ()
#21 0xc021f7b6 in ext2fs_readdir ()
#22 0xc016d3a2 in VOP_READDIR ()
#23 0xc016c6e1 in vn_readdir ()
#24 0xc016c087 in sys_getdents ()
#25 0xc0264400 in syscall_plain ()
#26 0xc0100f26 in syscall1 ()

  Note that I can successfully mount some other ext2fs filesystems
just fine.  I don't know what is unique about this one filesystem that
causes the panics.  It _is_ located pretty far into a 14G disk, if that
matters:

 l:   3068352  22378608 Linux Ext2      0     0         # (Cyl. 22201 - 25244)

  Any ideas on what I can do to help debug this one?  I'll probably try
building a non-DIAGNOSTIC kernel and see if it works fine.

  Brian

Kernel config:
------------------------------------------------------------------------------
#	$NetBSD: GENERIC,v 1.320 2000/04/03 00:03:30 augustss Exp $
#
#	GENERIC -- everything that's currently supported
#

include "arch/i386/conf/std.i386"

#ident 		"GENERIC-$Revision: 1.320 $"

maxusers	32		# estimated number of users

# CPU support.  At least one is REQUIRED.
options 	I386_CPU
options 	I486_CPU
options 	I586_CPU
#options 	I686_CPU	#  Athlon doesn't have fssave/rstor?

# CPU-related options.
options 	MATH_EMULATE	# floating point emulation
#options 	VM86		# virtual 8086 emulation
options 	USER_LDT	# user-settable LDT; used by WINE
# eliminate delay no-ops in I/O; recommended on all but very old machines
#options 	DUMMY_NOPS

# delay between "rebooting ..." message and hardware reset, in milliseconds
#options 	CPURESET_DELAY=2000

# Misc. i386-specific options
options 	XSERVER		# X server support in console drivers
options 	XSERVER_DDB	# PF12 gets you into DDB when X is running

# This option allows you to force a serial console at the specified
# I/O address.   see console(4) for details.
#options 	"CONSDEVNAME=\"com\"",CONADDR=0x2f8,CONSPEED=57600
#	you don't want the option below ON iff you are using the
#	serial console option of the new boot strap code.
#options 	CONS_OVERRIDE	# Always use above! independent of boot info

# The following options override the memory sizes passed in from the boot
# block.  Use them *only* if the boot block is unable to determine the correct
# values.  Note that the BIOS may *correctly* report less than 640k of base
# memory if the extended BIOS data area is located at the top of base memory
# (as is the case on most recent systems).
#options 	REALBASEMEM=639		# size of base memory (in KB)
#options 	REALEXTMEM=15360	# size of extended memory (in KB)

# Standard system options

options 	UCONSOLE	# users can use TIOCCONS (for xconsole)
options 	INSECURE	# disable kernel security levels

options 	RTC_OFFSET=0	# hardware clock is this many mins. west of GMT
options 	NTP		# NTP phase/frequency locked loop

options 	KTRACE		# system call tracing via ktrace(1)

options 	SYSVMSG		# System V-like message queues
options 	SYSVSEM		# System V-like semaphores
options 	SYSVSHM		# System V-like memory sharing
#options 	SHMMAXPGS=1024	# 1024 pages is the default

options 	LKM		# loadable kernel modules

# Diagnostic/debugging support options
options 	DIAGNOSTIC	# cheap kernel consistency checks
options 	POOL_DIAGNOSTIC	# cheap kernel consistency checks
#options 	DEBUG		# expensive debugging checks/support
#options 	KMEMSTATS	# kernel memory statistics (vmstat -m)
options 	DDB		# in-kernel debugger
#options 	DDB_HISTORY_SIZE=100	# enable history editing in DDB
#options 	KGDB		# remote debugger
#options 	"KGDB_DEVNAME=\"com\"",KGDBADDR=0x3f8,KGDBRATE=9600
#makeoptions	DEBUG="-g"	# compile full symbol table

# Compatibility options
#options 	COMPAT_NOMID	# compatibility with 386BSD, BSDI, NetBSD 0.8,
#options 	COMPAT_09	# NetBSD 0.9,
#options 	COMPAT_10	# NetBSD 1.0,
#options 	COMPAT_11	# NetBSD 1.1,
#options 	COMPAT_12	# NetBSD 1.2,
#options 	COMPAT_13	# NetBSD 1.3,
options 	COMPAT_14	# NetBSD 1.4,
options 	COMPAT_15	# NetBSD 1.5,
options 	COMPAT_43	# and 4.3BSD
options 	COMPAT_386BSD_MBRPART # recognize old partition ID

options 	COMPAT_SVR4	# binary compatibility with SVR4
options 	COMPAT_IBCS2	# binary compatibility with SCO and ISC
options 	COMPAT_LINUX	# binary compatibility with Linux
options 	COMPAT_FREEBSD	# binary compatibility with FreeBSD

options 	COMPAT_AOUT	# binary compat for NetBSD a.out binaries

# File systems
file-system 	FFS		# UFS
file-system 	EXT2FS		# second extended file system (linux)
file-system 	LFS		# log-structured file system
file-system 	MFS		# memory file system
file-system 	NFS		# Network File System client
file-system 	NTFS		# Windows/NT file system (experimental)
file-system 	CD9660		# ISO 9660 + Rock Ridge file system
file-system 	MSDOSFS		# MS-DOS file system
file-system 	FDESC		# /dev/fd
file-system 	KERNFS		# /kern
file-system 	NULLFS		# loopback file system
file-system 	OVERLAY		# overlay file system
file-system 	PORTAL		# portal filesystem (still experimental)
file-system 	PROCFS		# /proc
file-system 	UMAPFS		# NULLFS + uid and gid remapping
file-system 	UNION		# union file system
file-system	CODA		# Coda File System; also needs vcoda (below)

# File system options
##options 	QUOTA		# UFS quotas
#options 	FFS_EI		# FFS Endian Independent support
options 	SOFTDEP         # FFS soft updates support.
options 	NFSSERVER	# Network File System server
#options 	EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and
				# immutable) behave as system flags.

# Pull in config fragments for kernel crypto.  This is required for
# options IPSEC etc. to work. If you want to run with IPSEC, uncomment
# one of these, based on whether you use crypto-us or crypto-intl, and
# adjust the prefixes as necessary.

##prefix ../crypto-us/sys
##cinclude "conf/files.crypto-us"
##prefix

##prefix ../crypto-intl/sys
##cinclude "conf/files.crypto-intl"
##prefix

# Networking options
options 	GATEWAY		# packet forwarding
options 	INET		# IP + ICMP + TCP + UDP
options 	INET6		# IPV6
#options 	IPSEC		# IP security
#options 	IPSEC_ESP	# IP security (encryption part; define w/IPSEC)
#options 	IPSEC_DEBUG	# debug for IP security
#options 	MROUTING	# IP multicast routing
##options 	NS		# XNS
#options 	NSIP		# XNS tunneling over IP
##options 	ISO,TPIP	# OSI
##options 	EON		# OSI tunneling over IP
##options 	CCITT,LLC,HDLC	# X.25
##options 	NETATALK	# AppleTalk networking protocols
options 	PPP_BSDCOMP	# BSD-Compress compression support for PPP
options 	PPP_DEFLATE	# Deflate compression support for PPP
options 	PPP_FILTER	# Active filter support for PPP (requires bpf)
options 	PFIL_HOOKS	# pfil(9) packet filter hooks
options 	IPFILTER_LOG	# ipmon(8) log support

# Compatibility with 4.2BSD implementation of TCP/IP.  Not recommended.
#options 	TCP_COMPAT_42

# These options enable verbose messages for several subsystems.
# Warning, these may compile large string tables into the kernel!
options 	EISAVERBOSE	# verbose EISA device autoconfig messages
options 	PCIVERBOSE	# verbose PCI device autoconfig messages
#options 	PCI_CONFIG_DUMP	# verbosely dump PCI config space
#options 	PCMCIAVERBOSE	# verbose PCMCIA configuration messages
options 	SCSIVERBOSE	# human readable SCSI error messages
options 	USBVERBOSE	# verbose USB device autoconfig messages
#options 	PNPBIOSVERBOSE	# verbose PnP BIOS messages

##options 	NFS_BOOT_DHCP,NFS_BOOT_BOOTPARAM

#
# wscons options
#
# builtin terminal emulations
#options 	WSEMUL_SUN		# sun terminal emulation
options 	WSEMUL_VT100		# VT100 / VT220 emulation
# different kernel output - see dev/wscons/wsdisplayvar.h
options 	WS_KERNEL_FG=WSCOL_GREEN
#options 	WS_KERNEL_BG=WSCOL_BLACK
# compatibility to other console drivers
options 	WSCONS_SUPPORT_PCVTFONTS	# Allow pcvt fonts to work
options 	WSDISPLAY_COMPAT_PCVT		# emulate some ioctls
options 	WSDISPLAY_COMPAT_SYSCONS	# emulate some ioctls
options 	WSDISPLAY_COMPAT_USL		# VT handling
options 	WSDISPLAY_COMPAT_RAWKBD		# can get raw scancodes
# see dev/pckbc/wskbdmap_mfii.c for implemented layouts
#options 	PCKBD_LAYOUT="(KB_DE | KB_NODEAD)"
# allocate a number of virtual screens at autoconfiguration time
#options 	WSDISPLAY_DEFAULTSCREENS=4
# use a large software cursor that doesn't blink
options 	PCDISPLAY_SOFTCURSOR
# modify the screen type of the console; defaults to "80x25"
#options 	VGA_CONSOLE_SCREENTYPE="\"80x24\""

# Kernel root file system and dump configuration.
config		netbsd	root on ? type ?
#config		netbsd	root on sd0a type ffs
#config		netbsd	root on ? type nfs

#
# Device configuration
#

mainbus0 at root

apm0	at mainbus0			# Advanced power management

# Tuning for power management, see apm(4) for more details.
#options 	APM_NO_IDLE		# Don't call BIOS CPU idle function
#options 	APM_V10_ONLY		# Use only the APM 1.0 calls
#options 	APM_NO_POWEROFF		# Don't power off on halt(8)
#options 	APM_POWER_PRINT		# Don't print stats on the console
#options 	APM_DISABLE_INTERRUPTS=0 # Don't disable interrupts


# Basic Bus Support

# PCI bus support
pci*	at mainbus? bus ?
pci*	at pchb? bus ?
pci*	at ppb? bus ?

# Configure PCI using BIOS information
#options 	PCIBIOS			# PCI BIOS support
#options 	PCIBIOSVERBOSE		# PCI BIOS verbose info
#options 	PCIBIOS_INTR_FIXUP	# fixup PCI interrupt routing
#options 	PCIINTR_DEBUG		# super-verbose PCI interrupt fixup
#options 	PCIBIOS_BUS_FIXUP	# fixup PCI bus numbering

# PCI bridges
pchb*	at pci? dev ? function ?	# PCI-Host bridges
##pceb*	at pci? dev ? function ?	# PCI-EISA bridges
pcib*	at pci? dev ? function ?	# PCI-ISA bridges
ppb*	at pci? dev ? function ?	# PCI-PCI bridges
# XXX 'puc's aren't really bridges, but there's no better place for them here
puc*	at pci? dev ? function ?	# PCI "universal" comm. cards

# EISA bus support
##eisa*	at mainbus?
##eisa*	at pceb?

# ISA bus support
isa*	at mainbus?
##isa*	at pceb?
isa*	at pcib?

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

# ISA PCMCIA controllers
##pcic0	at isa? port 0x3e0 iomem 0xd0000 iosiz 0x10000
##pcic1	at isa? port 0x3e2 iomem 0xe0000 iosiz 0x4000
##tcic0	at isa? port 0x240 iomem 0xd0000 iosiz 0x10000

# PCI PCMCIA controllers
##pcic0	at pci? dev? function ?

# ISA Plug-and-Play bus support
isapnp0	at isa?

# ISA Plug-and-Play PCMCIA controllers
##pcic*	at isapnp?

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

#cardbus*	at cardslot?
#pcmcia* 	at cardslot?

# Coprocessor Support

# Math Coprocessor support
npx0	at isa? port 0xf0 irq 13	# x86 math coprocessor


# Console Devices

# ISA console.  You can only configure one of these!
#pc0	at isa? port 0x60 irq 1		# pccons generic PC console driver
#vt0	at isa? port 0x60 irq 1		# PCVT console driver

# Keyboard layout configuration for pccons
#options 	FRENCH_KBD
#options 	FINNISH_KBD
#options 	GERMAN_KBD
#options 	NORWEGIAN_KBD

# wscons
pckbc0		at isa?			# pc keyboard controller
pckbd*		at pckbc?		# PC keyboard
# "opms" should not be enabled together with "pms" or "pmsi"
pms*		at pckbc?		# PS/2 mouse for wsmouse
pmsi*		at pckbc?		# PS/2 "Intelli"mouse for wsmouse
#opms*		at pckbc?		# backwards compatible PS/2 mouse
vga0		at isa?
vga*		at pci? dev ? function ?
pcdisplay0	at isa?			# CGA, MDA, EGA, HGA
wsdisplay*	at vga? console ?
wsdisplay*	at pcdisplay? console ?
wskbd* 		at pckbd? console ?
wsmouse*	at pms? mux 0
wsmouse*	at pmsi? mux 0

pcppi0		at isa?
sysbeep0	at pcppi?

# Serial Devices

# PCI serial interfaces
##com*	at puc? port ?			# 16x50s on "universal" comm boards
##cy*	at pci? dev ? function ?	# Cyclades Cyclom-Y serial boards

# ISA Plug-and-Play serial interfaces
com*	at isapnp?			# Modems and serial boards

# PCMCIA serial interfaces
##com*	at pcmcia? function ?		# Modems and serial cards

##pcmcom*	at pcmcia? function ?		# PCMCIA multi-port serial cards
##com*	at pcmcom? slave ?		# ...and the slave devices

# ISA serial interfaces
#options 	COM_HAYESP		# adds Hayes ESP serial board support
com0	at isa? port 0x3f8 irq 4	# Standard PC serial ports
com1	at isa? port 0x2f8 irq 3
com2	at isa? port 0x3e8 irq 5
#com3	at isa? port 0x2e8 irq 9
#ast0	at isa? port 0x1a0 irq 5	# AST 4-port serial cards
#com*	at ast? slave ?
#boca0	at isa? port 0x100 irq 5	# BOCA 8-port serial cards
#boca0	at isa? port 0x100 irq 5	# BOCA 16-port serial cards (BB2016)
#boca1	at isa? port 0x140 irq 5	# this line is also needed for BB2016
#com*	at boca? slave ?
#tcom0	at isa? port 0x100 irq 7	# TC-800 8-port serial cards
#com*	at tcom? slave ?
#rtfps0	at isa? port 0x1230 irq 10	# RT 4-port serial cards
#com*	at rtfps? slave ?
#cy0	at isa? iomem 0xd4000 irq 12	# Cyclades serial cards


# Parallel Printer Interfaces

# PCI parallel printer interfaces
lpt*	at puc? port ?			# || ports on "universal" comm boards

# ISA parallel printer interfaces
lpt0	at isa? port 0x378 irq 7	# standard PC parallel ports
lpt1	at isa? port 0x278
lpt2	at isa? port 0x3bc

# LM7[89] and compatible hardware monitors
#lm0	at isa?	port 0x290		# other common ports: 0x280, 0x310

# SCSI Controllers and Devices

# PCI SCSI controllers
##adv*	at pci? dev ? function ?	# AdvanSys 1200[A,B], 9xx[U,UA] SCSI
##adw*	at pci? dev ? function ?	# AdvanSys 9xxUW SCSI
##ahc*	at pci? dev ? function ?	# Adaptec [23]94x, aic78x0 SCSI
##bha*	at pci? dev ? function ?	# BusLogic 9xx SCSI
##dpt*	at pci? dev ? function ?	# DPT SmartCache/SmartRAID
##isp*	at pci? dev ? function ?	# Qlogic ISP [12]0x0 SCSI/FibreChannel
##ncr*	at pci? dev ? function ?	# NCR 53c8xx SCSI
##pcscp*	at pci? dev ? function ?	# AMD 53c974 PCscsi-PCI SCSI

# EISA SCSI controllers
##ahb*	at eisa? slot ?			# Adaptec 174[02] SCSI
##ahc*	at eisa? slot ?			# Adaptec 274x, aic7770 SCSI
##bha*	at eisa? slot ?			# BusLogic 7xx SCSI
##dpt*	at eisa? slot ?			# DPT EATA SCSI
##uha*	at eisa? slot ?			# UltraStor 24f SCSI

# PCMCIA SCSI controllers
##aic*	at pcmcia? function ?		# Adaptec APA-1460 SCSI
##esp*	at pcmcia? function ?		# Qlogic ESP406/FAS408 SCSI

# ISA Plug-and-Play SCSI controllers
##aha*	at isapnp? 			# Adaptec AHA-154[02
##aic*	at isapnp?			# Adaptec AHA-1520B

# ISA SCSI controllers
##adv0	at isa? port ? irq ? drq ?	# AdvanSys APB-514[02]
##aha0	at isa? port 0x330 irq ? drq ?	# Adaptec 154[02] SCSI
##aha1	at isa? port 0x334 irq ? drq ?
##ahc0	at isa? port ? irq ?		# Adaptec 284x SCSI
####aic0	at isa? port 0x340 irq 11	# Adaptec 152[02] SCSI
##bha0	at isa? port 0x330 irq ? drq ?	# BusLogic [457]4X SCSI
##bha1	at isa? port 0x334 irq ? drq ?
# The "nca" and "dpt" probes might give false hits or hang your machine.
#dpt0	at isa? port 0x170 irq ? drq ?	# DPT SmartCache/SmartRAID
#nca0	at isa? port 0x360 irq 15	# Port-mapped NCR 53C80 contoller
#nca1	at isa? iomem 0xd8000 irq 5	# Memory-mapped controller (T128, etc.)
##sea0	at isa? iomem 0xc8000 irq 5	# Seagate/Future Domain SCSI
##uha0	at isa? port 0x330 irq ? drq ?	# UltraStor [13]4f SCSI
##uha1	at isa? port 0x340 irq ? drq ?
##wds0	at isa? port 0x350 irq 15 drq 6	# WD7000 and TMC-7000 controllers
##wds1	at isa? port 0x358 irq 11 drq 5

# CardBus SCSI cards
#ahc*	at cardbus? dev ? function ?	# Adaptec ADP-1480

# SCSI bus support
##scsibus* at adv?
##scsibus* at adw?
##scsibus* at aha?
##scsibus* at ahb?
##scsibus* at ahc?
##scsibus* at aic?
##scsibus* at bha?
##scsibus* at dpt?
##scsibus* at esp?
##scsibus* at isp?
#scsibus* at nca?
##scsibus* at ncr?
##scsibus* at pcscp?
##scsibus* at sea?
##scsibus* at uha?
##scsibus* at wds?

# SCSI devices
##sd*	at scsibus? target ? lun ?	# SCSI disk drives
##st*	at scsibus? target ? lun ?	# SCSI tape drives
##cd*	at scsibus? target ? lun ?	# SCSI CD-ROM drives
##ch*	at scsibus? target ? lun ?	# SCSI autochangers
##ss*	at scsibus? target ? lun ?	# SCSI scanners
##uk*	at scsibus? target ? lun ?	# SCSI unknown

# RAID controllers and devices
##cac*	at pci? dev ? function ?	# Compaq array controller
##ca*	at cac? unit ?			# Compaq array disk device

# IDE and related devices
# PCI IDE controllers - see pciide(4) for supported hardware.
# The 0x0001 flag force the driver to use DMA, even if the driver doesn't know
# how to set up DMA modes for this chip. This may work, or may cause
# a machine hang with some controllers.
pciide* at pci? dev ? function ? flags 0x0000

# ISA Plug-and-Play IDE controllers
wdc*	at isapnp? 

# PCMCIA IDE controllers
##wdc*	at pcmcia? function ?

# ISA ST506, ESDI, and IDE controllers
# Use flags 0x01 if you want to try to use 32bits data I/O (the driver will
# fall back to 16bits I/O if 32bits I/O are not functional).
# Some controllers pass the initial 32bit test, but will fail later.
wdc0	at isa? port 0x1f0 irq 14 flags 0x01
wdc1	at isa? port 0x170 irq 15 flags 0x01

# IDE drives
# Flags are used only with controllers that support DMA operations
# and mode settings (e.g. some pciide controllers)
# The lowest order four bits (rightmost digit) of the flags define the PIO
# mode to use, the next set of four bits the DMA mode and the third set the
# UltraDMA mode. For each set of four bits, the 3 lower bits define the mode
# to use, and the last bit must be 1 for this setting to be used.
# For DMA and UDMA, 0xf (1111) means 'disable'.
# 0x0fac means 'use PIO mode 4, DMA mode 2, disable UltraDMA'.
# (0xc=1100, 0xa=1010, 0xf=1111)
# 0x0000 means "use whatever the drive claims to support".
wd*	at wdc? channel ? drive ? flags 0x0000
wd*	at pciide? channel ? drive ? flags 0x0000

# ATAPI bus support
atapibus* at wdc? channel ?
atapibus* at pciide? channel ?

# ATAPI devices
# flags have the same meaning as for IDE drives.
cd*	at atapibus? drive ? flags 0x0000	# ATAPI CD-ROM drives
sd*	at atapibus? drive ? flags 0x0000	# ATAPI disk drives
uk*	at atapibus? drive ? flags 0x0000	# ATAPI unknown


# Miscellaneous mass storage devices

# ISA floppy
fdc0	at isa? port 0x3f0 irq 6 drq 2	# standard PC floppy controllers
#fdc1	at isa? port 0x370 irq ? drq ?
fd*	at fdc? drive ?			# the drives themselves
# some machines need you to do this instead of fd*
#fd0	at fdc0 drive 0

# ISA CD-ROM devices
#mcd0	at isa? port 0x300 irq 10	# Mitsumi CD-ROM drives

# ISA tape devices
# note: the wt driver conflicts unpleasantly with SMC boards at the
# same I/O address. The probe reprograms their EEPROMs. Don't
# uncomment it unless you are actually using it.
#wt0	at isa? port 0x308 irq 5 drq 1	# Archive and Wangtek QIC tape drives


# Network Interfaces

# PCI network interfaces
##de*	at pci? dev ? function ?	# DEC 21x4x-based Ethernet
##en*	at pci? dev ? function ?	# ENI/Adaptec ATM
##ep*	at pci? dev ? function ?	# 3Com 3c59x
##ex*	at pci? dev ? function ?	# 3Com 90x[B]
##epic*	at pci? dev ? function ?	# SMC EPIC/100 Ethernet
##esh*	at pci? dev ? function ?	# Essential HIPPI card
##fpa*	at pci? dev ? function ?	# DEC DEFPA FDDI
##fxp*	at pci? dev ? function ?	# Intel EtherExpress PRO 10+/100B
##le*	at pci? dev ? function ?	# PCnet-PCI Ethernet
##ne*	at pci? dev ? function ?	# NE2000-compatible Ethernet
##ntwoc*	at pci? dev ? function ?	# Riscom/N2 PCI Sync Serial
##sip*	at pci? dev ? function ?	# SiS 900 Ethernet
##tl*	at pci? dev ? function ?	# ThunderLAN-based Ethernet
##tlp*	at pci? dev ? function ?	# DECchip 21x4x (and clones) Ethernet
rtk*	at pci? dev ? function ?	# Realtek 8129/8139
#options 	TLP_MATCH_21040
#options 	TLP_MATCH_21041
#options 	TLP_MATCH_21140
#options 	TLP_MATCH_21142
vr*	at pci? dev ? function ?	# VIA Rhine Fast Ethernet
##lmc*	at pci? dev ? function ?	# Lan Media Corp SSI/HSSI/DS3
##rl*	at pci? dev ? function ?	# Realtek 8129/8139

# EISA network interfaces
##ep*	at eisa? slot ?			# 3Com 3c579 Ethernet
##fea*	at eisa? slot ?			# DEC DEFEA FDDI
##tlp*	at eisa? slot ?			# DEC DE-425 Ethernet

# ISA Plug-and-Play network interfaces
##ep*	at isapnp?			# 3Com 3c509 Ethernet
ne*	at isapnp?			# NE2000-compatible Ethernet
##tr*	at isapnp?			# IBM/3COM TROPIC Token-Ring

# PCMCIA network interfaces
##awi*	at pcmcia? function ?		# BayStack 650/660 (802.11FH/DS)
##cnw*	at pcmcia? function ?		# Xircom/Netwave AirSurfer
##ep*	at pcmcia? function ?		# 3Com 3c589 and 3c562 Ethernet
##mbe*	at pcmcia? function ?		# MB8696x based Ethernet
##ne*	at pcmcia? function ?		# NE2000-compatible Ethernet
##ray*	at pcmcia? function ?		# Raytheon Raylink (802.11)
##sm*	at pcmcia? function ?		# Megahertz Ethernet
##wi*	at pcmcia? function ?		# Lucent WaveLan IEEE (802.11)
#xe*	at pcmcia? function ?		# Xircom PCMCIA cards

##mhzc*	at pcmcia? function ?		# Megahertz Ethernet/Modem combo cards
##com*	at mhzc?
##sm*	at mhzc?

# ISA network interfaces
##ate0	at isa? port 0x2a0 irq ?		# AT1700
##cs0	at isa? port 0x300 iomem ? irq ? drq ?	# CS8900 Ethernet
##ec0	at isa? port 0x250 iomem 0xd8000 irq 9	# 3Com 3c503 Ethernet
##eg0	at isa? port 0x280 irq 9		# 3C505 ethernet cards
##el0	at isa? port 0x300 irq 9		# 3C501 ethernet cards
##ep0	at isa? port ? irq ?			# 3C509 ethernet cards
##ef0	at isa? port 0x360 iomem 0xd0000 irq 7	# 3C507
##ai0	at isa? port 0x360 iomem 0xd0000 irq 7	# StarLAN
##fmv0	at isa? port 0x2a0 irq ?		# FMV-180 series
ix0	at isa? port 0x300 irq 10		# EtherExpress/16
ix1	at isa? port 0x310 irq 11
##iy0	at isa? port 0x360 irq ?		# EtherExpress PRO 10 ISA
##lc0	at isa? port 0x320 iomem ? irq ?	# DEC EtherWORKS III (LEMAC)
#depca0	at isa? port 0x300 iomem 0xc8000 iosiz 0x8000 irq 5	# DEPCA
#le*	at depca?
##nele0	at isa? port 0x320 irq 9 drq 7		# NE2100
#ntwoc0	at isa? port 0x300 irq 5 iomem 0xc8000 flags 1	# Riscom/N2 sync serial
##le*	at nele?
bicc0	at isa? port 0x320 irq 10 drq 7		# BICC IsoLan
le*	at bicc?
ne0	at isa? port 0x280 irq 9		# NE[12]000 ethernet cards
ne1	at isa? port 0x300 irq 10
##sm0	at isa? port 0x300 irq 10		# SMC91C9x Ethernet
##tr0	at isa? port 0xa20 iomem 0xd8000 irq ?  # IBM TROPIC based Token-Ring
##tr1	at isa? port 0xa24 iomem 0xd0000 irq ?  # IBM TROPIC based Token-Ring
##tr*	at isa? port ? irq ?			# 3COM TROPIC based Token-Ring
##we0	at isa? port 0x280 iomem 0xd0000 irq 9	# WD/SMC Ethernet
##we1	at isa? port 0x300 iomem 0xcc000 irq 10

# CardBus network cards
#ex*	at cardbus? dev ? function ?	# 3Com 3C575TX
#fxp*	at cardbus? dev ? function ?	# Intel i8255x
#tlp*	at cardbus? dev ? function ?	# DECchip 21143

# MII/PHY support
exphy*	at mii? phy ?			# 3Com internal PHYs
icsphy*	at mii? phy ?			# Integrated Circuit Systems ICS1890
inphy*	at mii? phy ?			# Intel 82555 PHYs
iophy*	at mii? phy ?			# Intel 82553 PHYs
lxtphy*	at mii? phy ?			# Level One LXT-970 PHYs
nsphy*	at mii? phy ?			# NS83840 PHYs
nsphyter* at mii? phy ?			# NS83843 PHYs
qsphy*	at mii? phy ?			# Quality Semiconductor QS6612 PHYs
sqphy*	at mii? phy ?			# Seeq 80220/80221/80223 PHYs
tlphy*	at mii? phy ?			# ThunderLAN PHYs
tqphy*	at mii? phy ?			# TDK Semiconductor PHYs
ukphy*	at mii? phy ?			# generic unknown PHYs

# USB Controller and Devices

# PCI USB controllers
uhci*	at pci?	dev ? function ?	# Universal Host Controller (Intel)
ohci*	at pci?	dev ? function ?	# Open Host Controller

# CardBus USB controllers
#ohci*	at cardbus? dev ? function ?	# Open Host Controller

# USB bus support
usb*	at uhci?
usb*	at ohci?

# USB Hubs
uhub*	at usb?
uhub*	at uhub? port ? configuration ? interface ?

# USB Mice
ums*	at uhub? port ? configuration ? interface ?
wsmouse*	at ums? mux 0

# USB Keyboards
ukbd*	at uhub? port ? configuration ? interface ?
wskbd*	at ukbd? console ? mux 1

# USB Generic HID devices
uhid*	at uhub? port ? configuration ? interface ?

# USB Printer
ulpt*	at uhub? port ? configuration ? interface ?

# USB Modem
umodem*	at uhub? port ? configuration ?
ucom*	at umodem?

# USB Mass Storage
umass*	at uhub? port ? configuration ? interface ?
atapibus* at umass? channel ?
scsibus* at umass? channel ?

# USB audio
uaudio*	at uhub? port ? configuration ?

# USB Ethernet adapters
##aue*	at uhub? port ?		# ADMtek AN986 Pegasus based adapters
##cue*	at uhub? port ?		# CATC USB-EL1201A based adapters
##kue*	at uhub? port ?		# Kawasaki LSI KL5KUSB101B based adapters

# USB Handspring Visor
#uvisor*	at uhub? port ?
#ucom*	at uvisor?

# USB Generic driver
ugen*	at uhub? port ?


# Plug-and-Play BIOS and attached devices

#pnpbios0 at mainbus0

# mainboard audio chips
#ess*	at pnpbios0 index ?	# ESS AudioDrive
#sb*	at pnpbios0 index ?	# NeoMagic 256AV in sb mode
#wss*	at pnpbios0 index ?	# NeoMagic 256AV in wss mode
#ym*	at pnpbios0 index ?	# OPL3-SA3

# com port
#com*	at pnpbios0 index ?

# parallel port
#lpt*	at pnpbios0 index ?

# IDE controller on Toshiba Portege 3000 series (crippled PCI device)
#pciide* at pnpbios0 index ?


# Audio Devices

# PCI audio devices
##auvia*	at pci? dev ? function ?	# VIA VT82C686A integrated AC'97 Audio
##clcs*	at pci? dev ? function ?	# Cirrus Logic CS4280
##eap*	at pci? dev ? function ?	# Ensoniq AudioPCI
##eso*	at pci? dev ? function ?	# ESS Solo-1 PCI AudioDrive
##fms*	at pci? dev ? function ?	# Forte Media FM801
#sbl*	at pci? dev ? function ?	# SoundBlaster Live!
##sv*	at pci? dev ? function ?	# S3 SonicVibes

# ISA Plug-and-Play audio devices
##ess*	at isapnp?			# ESS Tech ES1887, ES1888, ES888 audio
##guspnp*	at isapnp?			# Gravis Ultra Sound PnP audio
##sb*	at isapnp?			# SoundBlaster-compatible audio
wss*	at isapnp?			# Windows Sound System
##ym*	at isapnp?			# Yamaha OPL3-SA3 audio

# ISA audio devices
# the "aria" probe might give false hits
#aria0	at isa? port 0x290 irq 10 		# Aria
#ess0	at isa? port 0x220 irq 5 drq 1 drq2 5	# ESS 18XX
##gus0	at isa? port 0x220 irq 7 drq 1 drq2 6	# Gravis Ultra Sound
##pas0	at isa? port 0x220 irq 7 drq 1		# ProAudio Spectrum
##pss0	at isa? port 0x220 irq 7 drq 6  	# Personal Sound System
##sp0	at pss0 port 0x530 irq 10 drq 0		# 	sound port driver
##sb0	at isa? port 0x220 irq 5 drq 1 drq2 5	# SoundBlaster
wss0	at isa? port 0x530 irq 10 drq 0	drq2 1	# Windows Sound System

# OPL[23] FM synthesizers
#opl0	at isa? port 0x388	# use only if not attached to sound card
##opl*	at eso?
##opl*	at ess?
##opl*	at fms?
##opl*	at sb?
##opl*	at sv?
opl*	at wss?
##opl*	at ym?

# Audio support
#audio*	at aria?
##audio*	at auvia?
##audio*	at clcs?
##audio*	at eap?
##audio*	at eso?
##audio*	at ess?
##audio*	at fms?
##audio*	at gus?
##audio*	at guspnp?
##audio*	at pas?
##audio*	at sb?
###audio*	at sbl?
##audio*	at sp?
##audio*	at sv?
##audio*	at uaudio?
audio*	at wss?
##audio*	at ym?

# MPU 401 UARTs
#mpu*	at isa? port 0x330 irq 9        # MPU401 or compatible card
##mpu*	at eso?
##mpu*	at fms?
##mpu*	at sb?
##mpu*	at ym?

# MIDI support
##midi*	at eap?			# 137[01] MIDI port
##midi*	at mpu?			# MPU 401
##midi*	at opl?			# OPL FM synth
##midi*	at pcppi?		# MIDI interface to the PC speaker
##midi*	at sb?			# SB1 MIDI port

# The spkr driver provides a simple tone interface to the built in speaker.
#spkr0	at pcppi?		# PC speaker


# Mice

# ISA busmice
lms0	at isa? port 0x23c irq 5	# Logitech bus mouse
lms1	at isa? port 0x238 irq 5
mms0	at isa? port 0x23c irq 5	# Microsoft InPort mouse
mms1	at isa? port 0x238 irq 5
wsmouse*	at lms? mux 0
wsmouse*	at mms? mux 0
# backwards compatible versions
#olms0	at isa? port 0x23c irq 5	# Logitech bus mouse
#olms1	at isa? port 0x238 irq 5
#omms0	at isa? port 0x23c irq 5	# Microsoft InPort mouse
#omms1	at isa? port 0x238 irq 5
#opms0	at pc? irq 12		# PS/2 auxiliary port mouse
#opms0	at vt? irq 12		# PS/2 auxiliary port mouse


# Joysticks

# ISA Plug-and-Play joysticks
##joy*	at isapnp?			# Game ports (usually on audio cards)

# PCI joysticks
##joy*	at pci?				# Game ports (usually on audio cards)

# ISA joysticks. Probe is a little strange; add only if you have one.
#joy0	at isa? port 0x201


# Miscellaneous Devices

# Planetconnect Satellite receiver driver.
#satlink0 at isa? port 0x300 drq 1


# Pull in optional local configuration
include	"arch/i386/conf/GENERIC.local"


# Pseudo-Devices

# disk/mass storage pseudo-devices
pseudo-device	ccd		4	# concatenated/striped disk devices
#pseudo-device	raid		4	# RAIDframe disk driver
#options 	RAID_AUTOCONFIG		# auto-configuration of RAID components
pseudo-device	md		1	# memory disk device (ramdisk)
pseudo-device	vnd		4	# disk-like interface to files

# network pseudo-devices
pseudo-device	bpfilter	8	# Berkeley packet filter
pseudo-device	ipfilter		# IP filter (firewall) and NAT
pseudo-device	loop			# network loopback
pseudo-device	ppp		2	# Point-to-Point Protocol
pseudo-device	sl		2	# Serial Line IP
pseudo-device	strip		2	# Starmode Radio IP (Metricom)
pseudo-device	tun		2	# network tunneling over tty
pseudo-device	gre		2	# generic L3 over IP tunnel
pseudo-device	ipip		2	# IP Encapsulation within IP (RFC 2003)
pseudo-device	gif		4	# IPv[46] over IPv[46] tunnel (RFC1933)
#pseudo-device	faith		1	# IPv[46] tcp relay translation i/f

# miscellaneous pseudo-devices
pseudo-device	pty		64	# pseudo-terminals
pseudo-device	tb		1	# tablet line discipline
pseudo-device	sequencer	1	# MIDI sequencer
# rnd works; RND_COM does not on port i386 yet.
pseudo-device	rnd			# /dev/random and in-kernel generator
#options 	RND_COM			# use "com" randomness as well (BROKEN)

# a pseudo device needed for Coda	# also needs CODA (above)
pseudo-device	vcoda		4	# coda minicache <-> venus comm.

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