Subject: hang and panic with kern_proc.c:1.36
To: None <current-users@netbsd.org>
From: Assar Westerlund <assar@sics.se>
List: current-users
Date: 01/16/2000 15:37:11
Hi there. I've an i386 running -current (dmesg and config file
included below) that has managed to hang once and panic once in a day
or so. Both times it seems to be related to `proclist_lock'. And
both times it has basically been running `make build'.
From the hang I don't have any dump since it locked up when I tried to
get it to dump but I wrote down the stack-trace from DDB:
lockmgr
proclist_lock_read
pfind
selwakeup
sowakeup
tcp_input
ip_input
ipintr
And the panic happened in `proclist_unlock_write'. More information
is available upon request. I plan to revert to 1.35 and see if the
problems still occurs.
I don't see why `lkp->lk_exclusivecount == 0' and `lkp->lk_sharedcount
== 1' and the value `cpu_id' seems bogus.
/assar
----------------------------------------------------------------------
Current directory is /sys/arch/i386/compile/PEZEN/
GNU gdb 4.17
Copyright 1998 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386--netbsd"...
(gdb) exec-file netbsd.2
(gdb) target kcore netbsd.2.core
panic: lockmgr: processor %lu, not exclusive lock holder %lu unlocking
#0 0xf02c0d60 in vga_accessops ()
(gdb) bt
#0 0xf02c0d60 in vga_accessops ()
#1 0x5c44000 in ?? ()
#2 0xf0223c2f in cpu_reboot (howto=256, bootstr=0x0)
at ../../../../arch/i386/i386/machdep.c:1123
#3 0xf01626a5 in panic () at ../../../../kern/subr_prf.c:217
#4 0xf0156732 in lockmgr (lkp=0xf033baa0, flags=4194310, interlkp=0x0)
at ../../../../kern/kern_lock.c:557
#5 0xf0157aa8 in proclist_unlock_write (s=0)
at ../../../../kern/kern_proc.c:252
#6 0xf0153bda in exit1 (p=0xf65c850c, rv=0)
at ../../../../kern/kern_exit.c:266
#7 0xf0153964 in sys_exit (p=0xf65c850c, v=0xf6598f88, retval=0xf6598f80)
at ../../../../kern/kern_exit.c:138
#8 0xf0229909 in syscall (frame={tf_es = 31, tf_ds = 31, tf_edi = 0,
tf_esi = -1, tf_ebp = -272639004, tf_ebx = 1208912880, tf_edx = 0,
tf_ecx = 2, tf_eax = 1, tf_trapno = 3, tf_err = 2, tf_eip = 1208870823,
tf_cs = 23, tf_eflags = 598, tf_esp = -272639028, tf_ss = 31,
tf_vm86_es = 0, tf_vm86_ds = 0, tf_vm86_fs = 0, tf_vm86_gs = 0})
at ../../../../arch/i386/i386/trap.c:760
#9 0xf0100da5 in syscall1 ()
can not access 0xefbfdbe4, invalid translation (invalid PDE)
can not access 0xefbfdbe4, invalid translation (invalid PDE)
Cannot access memory at address 0xefbfdbe4.
(gdb) f 4
#4 0xf0156732 in lockmgr (lkp=0xf033baa0, flags=4194310, interlkp=0x0)
at ../../../../kern/kern_lock.c:557
(gdb) p *lkp
$1 = {lk_interlock = {lock_data = 0}, lk_flags = 4194304, lk_sharecount = 1,
lk_exclusivecount = 0, lk_recurselevel = 0, lk_waitcount = 0,
lk_wmesg = 0xf02c170c "proclk", lk_un = {lk_un_sleep = {
lk_sleep_lockholder = -1, lk_sleep_prio = 0, lk_sleep_timo = 0},
lk_un_spin = {lk_spin_cpu = 4294967295}}}
(gdb) p cpu_id
$2 = 1559
(gdb) p pid
$3 = -2
----------------------------------------------------------------------
dmesg:
----------------------------------------------------------------------
NetBSD 1.4P (PEZEN) #0: Sat Jan 15 17:21:52 PST 2000
root@pezen.pdc.kth.se:/usr/local/src/netbsd-current/sys/arch/i386/compile/PEZEN
cpu0: family 6 model 1 step 7
cpu0: Intel Pentium Pro (686-class)
total memory = 97920 KB
avail memory = 87904 KB
using 1249 buffers containing 4996 KB of memory
BIOS32 rev. 0 found at 0xfd9f0
mainbus0 (root)
pnpbios0 at mainbus0: code f0000, data 400, entry a430
pnpbios0: 15 nodes, max len 126
PNP0000 (io 20-21 a0-a1 4d0-4d1, irq 2) at pnpbios0 index 0 ignored
PNP0201 (io 0-f 80-90 94-9f c0-de 40b 410-43f 481-483 487 489-48c 4d6, dma 4) at pnpbios0 index 1 ignored
PNP0100 (io 40-43, irq 0) at pnpbios0 index 2 ignored
PNP0B00 (io 70-71, irq 8) at pnpbios0 index 3 ignored
PNP0800 (io 61) at pnpbios0 index 4 ignored
PNP0C04 (io f0-ff, irq 13) at pnpbios0 index 5 ignored
PNP0303 (io 60 64, irq 1) at pnpbios0 index 6 ignored
end in dep?
error in dependant function
error in possible configuration
19 00 07 41 d0 0f 13 09 02 00 80 01 22 00 10 79 00 30 22 00 10 79 00 79 00
PNP0C01 (mem e8000-fffff 0-9ffff 100000-5ffffff fff80000-ffffffff) at pnpbios0 index 8 ignored
PNP0A03 (io cf8-cff) at pnpbios0 index 9 ignored
end in dep?
error in dependant function
error in possible configuration
2f 00 0a 41 d0 07 00 01 02 00 90 00 47 01 f2 03 f2 03 01 04 22 40 00 2a 04 08 79 00 30 47 01 f2 03 f2 03 01 04 22 40 00 2a 04 08 79 00 79 00
end in dep?
error in dependant function
error in possible configuration
65 00 0b 41 d0 04 00 07 01 01 80 00 47 01 78 03 78 03 01 04 22 80 00 79 00 30 47 01 78 03 78 03 01 04 22 80 00 30 47 01 78 02 78 02 01 04 22 80 00 30 47 01 bc 03 bc 03 01 04 22 80 00 30 47 01 78 03 78 03 01 04 22 20 00 30 47 01 78 02 78 02 01 04 22 20 00 30 47 01 bc 03 bc 03 01 04 22 20 00 79 00 79 00
end in dep?
error in dependant function
error in possible configuration
65 00 0c 41 d0 05 01 07 00 00 80 00 47 01 f8 03 f8 03 01 08 22 10 00 79 00 30 47 01 f8 03 f8 03 01 08 22 10 00 30 47 01 f8 02 f8 02 01 08 22 08 00 30 47 01 e8 02 e8 02 01 08 22 18 00 30 47 01 e8 03 e8 03 01 08 22 18 00 30 47 01 f8 02 f8 02 01 08 22 18 00 30 47 01 f8 03 f8 03 01 08 22 18 00 79 00 79 00
end in dep?
error in dependant function
error in possible configuration
65 00 0d 41 d0 05 01 07 00 00 80 00 47 01 f8 02 f8 02 01 08 22 08 00 79 00 30 47 01 f8 03 f8 03 01 08 22 10 00 30 47 01 f8 02 f8 02 01 08 22 08 00 30 47 01 e8 03 e8 03 01 08 22 18 00 30 47 01 e8 02 e8 02 01 08 22 18 00 30 47 01 f8 03 f8 03 01 08 22 18 00 30 47 01 f8 02 f8 02 01 08 22 18 00 79 00 79 00
PNP0C02 (io 78-7f 2e-2f) at pnpbios0 index 14 ignored
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled
pchb0 at pci0 dev 0 function 0
pchb0: Intel 82441FX PCI and Memory Controller (PMC) (rev. 0x02)
pcib0 at pci0 dev 7 function 0
pcib0: Intel 82371SB PCI-to-ISA Bridge (PIIX3) (rev. 0x01)
pciide0 at pci0 dev 7 function 1: Intel 82371SB IDE Interface (PIIX3)
pciide0: bus-master DMA support present
pciide0: primary channel wired to compatibility mode
atapibus0 at pciide0 channel 0
cd0 at atapibus0 drive 0: <FX240S, , j01> type 5 cdrom removable
cd0: 32-bits data port
cd0: drive supports PIO mode 3, DMA mode 2
pciide0: primary channel interrupting at irq 14
cd0(pciide0:0:0): using PIO mode 0, DMA mode 2 (using DMA data transfers)
pciide0: secondary channel wired to compatibility mode
pciide0: disabling secondary channel (no drives)
ahc0 at pci0 dev 15 function 0
ahc0: interrupting at irq 10
ahc0: aic7880 Wide Channel, SCSI Id=7, 16 SCBs
scsibus0 at ahc0 channel 0: 16 targets, 8 luns per target
ex0 at pci0 dev 17 function 0: 3Com 3c905-TX 10/100 Ethernet (rev. 0x0)
ex0: interrupting at irq 10
ex0: MAC address 00:60:08:2c:cf:85
nsphy0 at ex0 phy 24: DP83840 10/100 media interface, rev. 1
nsphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
vga0 at pci0 dev 19 function 0: Matrox MGA Millennium II 2164W (rev. 0x00)
wsdisplay0 at vga0: console (80x25, vt100 emulation)
isa0 at pcib0
pckbc0 at isa0 port 0x60-0x64
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pms0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: PC speaker
sysbeep0 at pcppi0
npx0 at isa0 port 0xf0-0xff: using exception 16
fdc0 at isa0 port 0x3f0-0x3f7 irq 6 drq 2
fd0 at fdc0 drive 0: 1.44MB, 80 cyl, 2 head, 18 sec
apm0 at mainbus0: Power Management spec V1.2 (BIOS mgmt disabled) (BIOS managing devices)
apm0: A/C state: on
apm0: battery charge state: no battery
biomask effd netmask effd ttymask ffff
scsibus0: waiting 2 seconds for devices to settle...
ahc0: target 0 synchronous at 10.0MHz, offset = 0xf
sd0 at scsibus0 targ 0 lun 0: <SEAGATE, ST15150N, 0023> SCSI2 0/direct fixed
sd0: 4101 MB, 3712 cyl, 21 head, 107 sec, 512 bytes/sect x 8399448 sectors
boot device: sd0
root on sd0a dumps on sd0b
root file system type: ffs
----------------------------------------------------------------------
config file:
----------------------------------------------------------------------
# $NetBSD: GENERIC,v 1.287 2000/01/04 06:58:54 chopps Exp $
#
# GENERIC -- everything that's currently supported
#
include "arch/i386/conf/std.i386"
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
# 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 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_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 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 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 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
# 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_NO_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 ?
# 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 0x4000
#pcic1 at isa? port 0x3e2 iomem 0xd4000 iosiz 0x4000
#tcic0 at isa? port 0x240 iomem 0xd0000 iosiz 0x4000
# 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?
# 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?
#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
# 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
#options ADW_WDTR_DISABLE # disable Wide Data Tranfer
#options ADW_SDTR_DISABLE # disable Syncronous Data Transfer
#options ADW_TAGQ_DISABLE # disable Tag Queuing
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
# 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" probe might give false hits or hang your machine.
#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
# 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 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
# 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 0x00
#wdc1 at isa? port 0x170 irq 15 flags 0x00
# 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
#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 (802.11FH)
#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
#sm* at pcmcia? function ? # Megahertz Ethernet
#wi* at pcmcia? function ? # Lucent WaveLan IEEE (802.11)
#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
#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
# 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
# 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 ?
# USB Mass Storage
umass* at uhub? port ? configuration ? interface ?
scsibus* at umass? channel ?
# USB audio
uaudio* at uhub? port ? configuration ?
# USB Generic driver
ugen* at uhub? port ?
# Plug-and-Play BIOS and attached devices
pnpbios0 at mainbus0
com* at pnpbios? index ?
lpt* at pnpbios? index ?
# mainboard audio chips
#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
clcs* at pci? dev ? function ? # Cirrus Logic CS4280
# PCI audio devices
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
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* at clcs?
# Audio support
#audio* at aria?
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 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)
# 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
#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
----------------------------------------------------------------------