[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

4.8-S crashes during boot in USB code

Hi List,

my FreeBSD-4.8-Stable custom kernel crashes in USB code during boot. It 
does not matter if any USB device is connected. I checked all 
combinations of no, one, or two devices connected out of my collection 
(USB memory stick, Sony clie handheld). The crash is reproducible at the 
same location in the USB driver.

A generic kernel does not crash, but does not detect the Clie.

Enclosed are a DDB stack trace (stacktrace.txt), my machine-specific 
config file (KISTE), as well as dmesg output from the generic kernel 

Any hints?

Thanks in advance
-Christoph Sold
-------------- next part --------------
atapci0: <VIA 82C686 ATA66 controller> port 0xd800-0xd80f at device 4.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
uhci0: <VIA 83C572 USB controller> port 0xd400-0xd4ff irq 5 at device 4.2 on pci
usb0: <VIA 87C572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: UIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered

Fatal trap 12: page fault while in kernel mode
fault virtual address : 0x4
fault code : supervisor read, page not present
instruction pointer : 0x8:0xc02df5ac
stack pointer : 0x10:0xc052ad20
frame pointer : 0x10:0xc052ad3c
code segment : base 0x0, limit 0xfffff, type 0x1b
  : DPL 0, pres 1, def32 1, gran 1
processor eflags : interrupt enabled, resume, IOPL : 0
current process : 0 (swapper)
interrupt mask : none
trap number : 12
panic: page fault
Uptime: 0s
Automatic reboot in 15 seconds - press a key on the console to abort
Debugger("manual escape to debugger")
Stopped at    Debugger+0x35:   movb   $0, in_Debugger.429
db> trace
Debugger(c03ea269) at Debugger+0x35
scgetc(c046db20,3,c0466540,1,7e) at scgetc+0x47a
sccngetch(2,c052abfc,c01c547e,c94520e0,c052ac0c) at sccngetch+0x10a
sccncheckc(c04520e0,c052ac0c,c01a8124,186a0,c0e35e20) at sccncheckc+0xa
cncheckc(186a06) at cncheckc+0x2e
shutdown_panic(0,100) at shutdown_panic+0x34
boot(100,10,c052ace0,c052ac74,c0373ab4) at boot+0x335
panic(c03f0d4c,c03f081f,c046e340,c0451b40,0) at panic+0x7d
trap_fatal(c052ace0,4,c046e340,c,0) at trap_fatal+0x344
trap_pfault(c052ace0,0,4,0,c154d000) at trap_pfault+0x12d
trap(c0520010,c0380010,8e4c0010,c15de400,c15cd000) at trap+0x40f
calltrap() at calltrap+0x11
--- trap 0xc, eip = 0xc02df5ac, esp = 0xc052ad20, ebp = 0xc052ad3c ---
uhci_idone(0,c15d4e00,c15cd000,c15d4e00,c052ad6c) at uhci_idons+0xc
uhci_waitintr(c15cd000,c15d4e00,c15d4e00,8,c052ad7c) at uhci_waitintr+0x62
uhci_device_ctrl_start(c15d4e00,0,c15d4e00,c052ae0c,c02e30be) at uhci_device_ctrl_transfer(c15d4e00,c15d4e00,c052ae0c,c02e30be) at uhci_device_ctrl_transfer+0x1f
usbd_transfer(c15d4e00,c052add4,c02e30c7,c15d4e00,c15d4db0) at usbd_transfer+0xa3
usb_sync_transfer(c15d4e00,c15d4db0,c15d4d80,c15d4db0,c15bc780) at usb_sync_transfer+0x10
usbd_do_reqest_flags(c15d4d80,c052ac0c,c15d4db0,c15d4d80,0) at 
usb_do_reqest(c15d4d80,c052ae0c,c15d4db0,c15d0d80,0) at usb_do_reqest+0x18 
usb_get_desc(c15d4d80,1,0,8,c15d4db0) at usb_get_desc+0
usbd_new_device(c15d4f80,c15cd000,1,0,1,c15d4f30) at usbd_new_device+0x154
uhub_explore(015cc100,c15cc180,c15ccb80,0,c52aea0) at uhub_explore+0x203
usb_attach(c15cc180,c052aebc,c01b0f77,c15cc180,c15cd000) at usb_attach+0x106
DEVICE_ATTACH(c15ca080,c15ca080,c15ca300,0,1) at DEVICE_ATTACH+0x32
device_probe_and_attach(c15ca300) at device_probe_and_attach+0x67
uhci_pci_attach(c15ccb80,c052af08,c01b0f77,c15ccb80,c15ccb80) at uhci_pci_attach+0x2a4
DEVICE_ATTACH(c15ccb80,c15ccb80,c15ca180,0,0) at DEVICE_ATTACH+0x32
device_probe_and_attach(c15ccb80) at device_probe_and_attach+0x67
bus_generic_attach(c15ca080,c052af40,c01b0f77,c15ca080,c15ca080) at bus_generic_attach+0x16
DEVICE_ATTACH(c15ca080,c15ca080,c15ca300,0,1) at DEVICE_ATTACH+0x32
device_probe_and_attach(c15ca080) at device_probe_and_attach+0x67
bus_generic_attach(c15ca180,c052af078,c01b0f77,c15ca180,c15ca180) at bus_generic_attach+0x16
DEVICE_ATTACH(c15ca180,c15ca180,c0e48780,0,1) at DEVICE_ATTACH+0x32
device_probe_and_attach(c15ca180) at device_probe_and_attach+0x67
bus_generic_attach(c15ca300,c15ca300,c052afa4,c012e0c2,c15ca300) at bus_generic_attach+0x16
nexus_attach(c15ca300,c052afc0,c01b0f77,c15ca300,c15ca300) at nexus_attach+0xd
DEVICE_ATTACH(c15ca300,c15ca300,c041da10,52f000,1) at DEVICE_ATTACH+0x32
device_probe_and_attach(c15ca300) at device_probe_and_attach+0x67
root_bus_configure(c0e48780,c03eb5ec,0) at root_bus_configure+0x16
configure(0,572c00,52f000,0,c012daa0) at configure+0x33
begin() at begin+0x47

-------------- next part --------------
Copyright (c) 1992-2003 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD 4.8-RC #3: Mon Mar 31 21:42:11 CEST 2003
Timecounter "i8254"  frequency 1193182 Hz
CPU: Intel Pentium III (997.46-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x686  Stepping = 6
real memory  = 268419072 (262128K bytes)
avail memory = 255614976 (249624K bytes)
Preloaded elf kernel "kernel.GENERIC" at 0xc056e000.
Preloaded elf module "vesa.ko" at 0xc056e0a4.
VESA: v3.0, 32768k memory, flags:0x1, mode table:0xc056b782 (1000022)
VESA: NVidia
Pentium Pro MTRR support enabled
md0: Malloc disk
Using $PIR table, 6 entries at 0xc00f0eb0
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
agp0: <VIA 82C691 (Apollo Pro) host to PCI bridge> mem 0xfc000000-0xfdffffff at device 0.0 on pci0
pcib2: <VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib2
pci1: <NVidia GeForce2 GTS graphics accelerator> at 0.0 irq 11
isab0: <VIA 82C686 PCI-ISA bridge> at device 4.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <VIA 82C686 ATA66 controller> port 0xd800-0xd80f at device 4.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
uhci0: <VIA 83C572 USB controller> port 0xd400-0xd41f irq 5 at device 4.2 on pci0
usb0: <VIA 83C572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
ulpt0: Lexmark Lexmark Z42, rev 1.00/1.00, addr 2, iclass 7/1
uhci1: <VIA 83C572 USB controller> port 0xd000-0xd01f irq 5 at device 4.3 on pci0
usb1: <VIA 83C572 USB controller> on uhci1
usb1: USB revision 1.0
uhub1: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
umass0:   USB Disk, rev 1.10/1.00, addr 2
pci0: <unknown card> (vendor=0x1106, dev=0x3057) at 4.4
pci0: <unknown card> (vendor=0x1274, dev=0x5880) at 5.0 irq 9
dc0: <Intel 21143 10/100BaseTX> port 0xb400-0xb47f mem 0xed800000-0xed8003ff irq 5 at device 10.0 on pci0
dc0: Ethernet address: 00:40:f4:0a:be:55
miibus0: <MII bus> on dc0
ukphy0: <Generic IEEE 802.3u media interface> on miibus0
ukphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
sym0: <810a> port 0xb000-0xb0ff mem 0xed000000-0xed0000ff irq 10 at device 11.0 on pci0
sym0: No NVRAM, ID 7, Fast-10, SE, parity checking
pcib1: <Host to PCI bridge> on motherboard
pci2: <PCI bus> on pcib1
orm0: <Option ROM> at iomem 0xc0000-0xcb7ff on isa0
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model IntelliMouse, device ID 3
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/8 bytes threshold
ppbus0: IEEE1284 device found /NIBBLE
Probing for PnP devices on ppbus0:
ppbus0: <Hewlett-Packard HP LaserJet 5L/0101.02> HP ENHANCED PCL5,PJL
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
ad0: 38166MB <ST340823A> [77545/16/63] at ata0-master UDMA66
acd0: DVD-ROM <LITEON DVD-ROM LTD122> at ata0-slave UDMA33
acd1: CD-RW <SONY CD-RW CRX140E> at ata1-master UDMA33
Waiting 15 seconds for SCSI devices to settle
Mounting root from ufs:/dev/ad0s1a
da0 at umass-sim0 bus 0 target 0 lun 0
da0: < USB DISK 2.08> Removable Direct Access SCSI-0 device 
da0: 650KB/s transfers
da0: 62MB (128000 512 byte sectors: 64H 32S/T 62C)
IP packet filtering initialized, divert disabled, rule-based forwarding enabled, default to deny, logging disabled
cd9660: Joliet Extension (Level 3)
-------------- next part --------------
# KISTE -- Host-specific kernel configuration file for FreeBSD/i386
# For more information on this file, please read the handbook section on
# Kernel Configuration Files:
#    http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html

machine		i386
cpu		I686_CPU
# CPU_ENABLE_SSE enables SSE/MMX2 instructions support.
# CPU_FASTER_5X86_FPU enables faster FPU exception handler.
options 	CPU_FASTER_5X86_FPU
ident		KISTE
maxusers	0

makeoptions	DEBUG=-g		#Build kernel with gdb(1) debug symbols

options 	INET			#InterNETworking
options 	FAST_IPSEC		#new IPsec
# SMB/CIFS requester
# NETSMB enables support for SMB protocol, it requires LIBMCHAIN and LIBICONV
# options.
# NETSMBCRYPTO enables support for encrypted passwords.
options 	NETSMB			#SMB/CIFS requester
options 	NETSMBCRYPTO		#encrypted password support for SMB
# mchain library. It can be either loaded as KLD or compiled into kernel
options 	LIBMCHAIN		#mbuf management library
# netgraph(4). Enable the base netgraph code with the NETGRAPH option.
# Individual node types can be enabled with the corresponding option
# listed below; however, this is not strictly necessary as netgraph
# will automatically load the corresponding KLD module if the node type
# is not already compiled into the kernel. Each type below has a
# corresponding man page, e.g., ng_async(8).
options 	NETGRAPH		#netgraph(4) system
options 	NETGRAPH_L2TP
# MPPC compression requires proprietary files (not included)
options 	NETGRAPH_RFC1490
options 	NETGRAPH_UI

options 	FFS			#Berkeley Fast Filesystem
options 	FFS_ROOT		#FFS usable as root device [keep this!]
options 	SOFTUPDATES		#Enable FFS soft updates support
options 	UFS_DIRHASH		#Improve performance on big directories
options 	MFS			#Memory Filesystem
options 	MD_ROOT			#MD is a potential root device
options 	NFS			#Network Filesystem
options 	NFS_ROOT		#NFS usable as root device, NFS required
options 	MSDOSFS			#MSDOS Filesystem
options 	CD9660			#ISO 9660 Filesystem
options 	PROCFS			#Process filesystem
options 	SMBFS			#SMB/CIFS filesystem
options 	COMPAT_43		#Compatible with BSD 4.3 [KEEP THIS!]
options 	SCSI_DELAY=2000		#Delay (in ms) before probing SCSI
options 	UCONSOLE		#Allow users to grab the console
options 	USERCONFIG		#boot -c editor
options 	VISUAL_USERCONFIG	#visual boot -c editor
options 	KTRACE			#ktrace(1) support
options 	SYSVSHM			#SYSV-style shared memory
options 	SYSVMSG			#SYSV-style message queues
options 	SYSVSEM			#SYSV-style semaphores
options 	P1003_1B		#Posix P1003_1B real-time extensions
options 	_KPOSIX_VERSION=199309L
options 	ICMP_BANDLIM		#Rate limit bad replies
options 	KBD_INSTALL_CDEV	# install a CDEV entry in /dev
options 	AHC_REG_PRETTY_PRINT	# Print register bitfields in debug
					# output.  Adds ~128k to driver.
options 	AHD_REG_PRETTY_PRINT	# Print register bitfields in debug 
					# output.  Adds ~215k to driver.

device		isa
device		pci
options 	PCI_QUIET	#quiets PCI code on chipset settings
device		agp

# Floppy drives
device		fdc0	at isa? port IO_FD1 irq 6 drq 2
device		fd0	at fdc0 drive 0
device		fd1	at fdc0 drive 1

# ATA and ATAPI devices
device		ata0	at isa? port IO_WD1 irq 14
device		ata1	at isa? port IO_WD2 irq 15
device		ata
device		atadisk			# ATA disk drives
device		atapicd			# ATAPI CDROM drives
device		atapifd			# ATAPI floppy drives
device		atapist			# ATAPI tape drives
options 	ATA_STATIC_ID		#Static device numbering
# This option allow you to override the default probe time for IDE
# devices, to get a faster probe.  Setting this below 10000 violate
# the IDE specs, but may still work for you (it will work for most
# people).
options 	IDE_DELAY=8000	# Be optimistic about Joe IDE device

# SCSI Controllers
device		ncr		# NCR/Symbios Logic
device		sym		# NCR/Symbios Logic (newer chipsets)
options 	SYM_SETUP_LP_PROBE_MAP=0x40
				# Allow ncr to attach legacy NCR devices when 
				# both sym and ncr are configured

device		adv0	at isa?
device		adw
device		bt0	at isa?
device		aha0	at isa?
device		aic0	at isa?

device		ncv		# NCR 53C500
device		nsp		# Workbit Ninja SCSI-3
device		stg		# TMC 18C30/18C50

# SCSI peripherals
device		scbus		# SCSI bus (required)
device		da		# Direct Access (disks)
device		sa		# Sequential Access (tape etc)
device		cd		# CD
device		pass		# Passthrough device (direct SCSI access)

# atkbdc0 controls both the keyboard and the PS/2 mouse
device		atkbdc0	at isa? port IO_KBD
device		atkbd0	at atkbdc? irq 1 flags 0x1
device		psm0	at atkbdc? irq 12

device		vga0	at isa?

# splash screen/screen saver
pseudo-device	splash

# The following option probably won't work with the LCD displays.
options 	VGA_WIDTH90		# support 90 column modes

# To include support for VESA video modes
options 	VESA

# syscons is the default console driver, resembling an SCO console
device		sc0	at isa? flags 0x100
options		MAXCONS=12	#cps Number of virtual consoles
options		SC_DFLT_FONT	#cps Compile font in
makeoptions	SC_DFLT_FONT=iso15
options		SC_DISABLE_REBOOT	#cps Disable Ctrl-Alt-Del
options		SC_HISTORY_SIZE=400	#cps A bigger scrollback history
options		SC_PIXEL_MODE		#cps Add support for raster text mode

device		agp		# support several AGP chipsets

# Floating point support - do not disable.
device		npx0	at nexus? port IO_NPX irq 13

# Power management support (see LINT for more options)
device		apm0	at nexus? disable flags 0x20 # Advanced Power Management

# Serial (COM) ports
device		sio0	at isa? port IO_COM1 flags 0x10 irq 4
device		sio1	at isa? port IO_COM2 irq 3
#cps	device		sio2	at isa? disable port IO_COM3 irq 5
#cps	device		sio3	at isa? disable port IO_COM4 irq 9

# Parallel port
device		ppc0	at isa? irq 7
device		ppbus		# Parallel port bus (required)
device		lpt		# Printer
device		plip		# TCP/IP over parallel
device		ppi		# Parallel port interface device
#device		vpo		# Requires scbus and da

# PCI Ethernet NICs.
device		de		# DEC/Intel DC21x4x (``Tulip'')

# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device		miibus		# MII bus support
device		dc		# DEC/Intel 21143 and various workalikes

# Aironet 4500/4800 802.11 wireless NICs. Note: the declaration below will
# work for PCMCIA and PCI cards, as well as ISA cards set to ISA PnP
# mode (the factory default). If you set the switches on your ISA
# card for a manually chosen I/O address and IRQ, you must specify
# those parameters here.
device		an

# Pseudo devices - the number indicates how many units to allocate.
pseudo-device	loop		# Network loopback
pseudo-device	ether		# Ethernet support
pseudo-device	vlan	1		#VLAN support
pseudo-device	sl	1	# Kernel SLIP
pseudo-device	ppp	1	# Kernel PPP
options 	PPP_BSDCOMP		#PPP BSD-compress support
options 	PPP_DEFLATE		#PPP zlib/deflate/gzip support
options 	PPP_FILTER		#enable bpf filtering (needs bpf)
pseudo-device	tun		# Packet tunnel.
pseudo-device	pty		# Pseudo-ttys (telnet etc)
pseudo-device	md		# Memory "disks"
pseudo-device	gif		# IPv6 and IPv4 tunneling
pseudo-device	faith	1	# IPv6-to-IPv4 relaying (translation)
pseudo-device	tun			#Tunnel driver (ppp(8), nos-tun(8))

# The `bpf' pseudo-device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
pseudo-device	bpf		#Berkeley packet filter

# USB support
device		uhci		# UHCI PCI->USB interface
device		usb		# USB Bus (required)
device		ugen		# Generic
device		uhid		# "Human Interface Devices"
device		ukbd		# Keyboard
device		ulpt		# Printer
device		umass		# Disks/Mass storage - Requires scbus and da
device		ums		# Mouse
device		uscanner	# Scanners
device		urio		# Diamond Rio MP3 Player

# This allows you to actually store this configuration file into
# the kernel binary itself, where it may be later read by saying:
#    strings -n 3 /kernel | sed -n 's/^___//p' > MYKERNEL
options 	INCLUDE_CONFIG_FILE     # Include this file in kernel

# Allow applications running in user space to control the Local Descriptor
# Table (LDT).  This is required by some ports.  Future versions of FreeBSD
# may require this option for some programs in the base system.
options 	USER_LDT		#allow user-level control of i386 ldt

# Enable the kernel debugger.
# Don't drop into DDB for a panic. Intended for unattended operation
# where you may want to drop to DDB from the console, but still want
# the machine to recover from a panic
options 	DDB

# KTRACE enables the system-call tracing facility ktrace(2).
options 	KTRACE			#kernel tracing

# IPFIREWALL enables support for IP firewall construction, in
# conjunction with the `ipfw' program.  IPFIREWALL_VERBOSE sends
# logged packets to the system logger.  IPFIREWALL_VERBOSE_LIMIT
# limits the number of times a matching entry can be logged.
# WARNING:  IPFIREWALL defaults to a policy of "deny ip from any to any"
# and if you do not add other rules during startup to allow access,
# YOU WILL LOCK YOURSELF OUT.  It is suggested that you set firewall_type=open
# in /etc/rc.conf when first enabling this feature, then refining the
# firewall rules in /etc/rc.firewall after you've tested that the new kernel
# feature works properly.
# IPDIVERT enables the divert IP sockets, used by ``ipfw divert''
options 	IPFIREWALL		#firewall
options 	IPFIREWALL_VERBOSE	#enable logging to syslogd(8)
options 	IPFIREWALL_FORWARD	#enable transparent proxy support
options 	IPFIREWALL_VERBOSE_LIMIT=100	#limit verbosity
options 	IPDIVERT		#divert sockets

# RANDOM_IP_ID causes the ID field in IP packets to be randomized
# instead of incremented by 1 with each packet generated.  This
# option closes a minor information leak which allows remote
# observers to determine the rate of packet generation on the
# machine by watching the counter.
options 	RANDOM_IP_ID

# TCP_DROP_SYNFIN adds support for ignoring TCP packets with SYN+FIN. This
# prevents nmap et al. from identifying the TCP/IP stack, but breaks support
# for RFC1644 extensions and is not recommended for web servers.
options 	TCP_DROP_SYNFIN		#drop TCP packets with SYN+FIN

# ICMP_BANDLIM enables icmp error response bandwidth limiting.   You
# typically want this option as it will help protect the machine from
# D.O.S. packet attacks.

# DUMMYNET enables the "dummynet" bandwidth limiter. You need
# IPFIREWALL as well. See the dummynet(4) and ipfw(8) manpages for more info.
# When you run DUMMYNET it is advisable to also have "options HZ=1000"
# to achieve a smoother scheduling of the traffic.
# BRIDGE enables bridging between ethernet cards -- see bridge(4).
# You can use IPFIREWALL and DUMMYNET together with bridging.
options 	DUMMYNET

pseudo-device	vn		#Vnode driver (turns a file into a device)
pseudo-device	snp		#Snoop device - to look at pty/vty/etc..

# Kernel side iconv library
options 	LIBICONV

# For PnP/PCI sound cards
device		pcm

# Supported devices:
# smb		standard io through /dev/smb*
# Supported SMB interfaces:
# iicsmb	I2C to SMB bridge with any iicbus interface
# bktr		brooktree848 I2C hardware interface
# intpm		Intel PIIX4 (82371AB, 82443MX) Power Management Unit
# alpm		Acer Aladdin-IV/V/Pro2 Power Management Unit
# ichsmb	Intel ICH SMBus controller chips (82801AA, 82801AB, 82801BA)
# viapm		VIA VT82C586B,596,686A and VT8233 SMBus controllers
# amdpm		AMD 756 Power Management Unit
device		smbus		# Bus support, required for smb below.

device		intpm
device		alpm
device		ichsmb
device		viapm
device		amdpm

device		smb

# I2C Bus
# Philips i2c bus support is provided by the `iicbus' device.
# Supported devices:
# ic	i2c network interface
# iic	i2c standard io
# iicsmb i2c to smb bridge. Allow i2c i/o with smb commands.
# Supported interfaces:
# pcf	Philips PCF8584 ISA-bus controller
# bktr	brooktree848 I2C software interface
# Other:
# iicbb	generic I2C bit-banging code (needed by lpbb, bktr)
device		iicbus		# Bus support, required for ic/iic/iicsmb below.
device		iicbb

device		ic
device		iic
device		iicsmb		# smb over i2c bridge

device		pcf0	at isa? port 0x320 irq 5

# crypto subsystem
# This is a port of the openbsd crypto framework.  Include this when
# configuring IPsec and when you have a h/w crypto device to accelerate
# user applications that link to openssl.
# Drivers are ports from openbsd with some simple enhancements that have
# been fed back to openbsd (and hopefully will be included).

pseudo-device	crypto		# core crypto support
pseudo-device	cryptodev	# /dev/crypto for access to h/w

device		hifn		# Hifn 7951, 7781, etc.
device		ubsec		# Broadcom 5501, 5601, 58xx

options 	PNPBIOS