Subject: pthread_creat = bad system call in macppc port, netbsd-current (well... almost current)
To: None <port-macppc@netbsd.org>
From: leon zadorin <leonleon77@gmail.com>
List: port-macppc
Date: 03/05/2007 10:13:51
Hi all,

pardon for the post if it happens not to be directly relevant to the
macppc port...

In short, I get "bad system call" (followed by a core dump) when using
pthreads (e.g. pthread_create eventually faulting at sa_register)... I
am not sure if this has something to do with my kernel config or
not... (naturally, NetBSD v3 does not exhibit the problem...)

If anyone has any clues - will be appreciated...

//-----------------------------------

code which generates error:


#include <iostream>
#include <pthread.h>

using namespace std;

void * threadProc (void * x)
{
	cout << "thread is running" << endl;
	sleep (3);
}

int main ()
{
	pthread_t thread;
	pthread_create (&thread, NULL, threadProc, NULL);
	sleep (1);
	pthread_join (thread, NULL);
	return 0;
}

//-----------------------------------

code compilation:

gcc main.cpp -lpthread -lstdc++ -lm -lc

//-----------------------------------

gdb output when running:

GNU gdb 6.5
Copyright (C) 2006 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 "powerpc--netbsd"...(no debugging symbols found)

(gdb) run
Starting program: /home/test/a.out
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)

Program received signal SIGSYS, Bad system call.
0xefd6a284 in sa_register () from /usr/lib/libc.so.12
(gdb) bt
#0  0xefd6a284 in sa_register () from /usr/lib/libc.so.12
#1  0xeffca600 in pthread__sa_start () from /usr/lib/libpthread.so.0
#2  0xeffd0c5c in pthread_create () from /usr/lib/libpthread.so.0
#3  0x01800ec8 in main ()
(gdb) q
The program is running.  Exit anyway? (y or n)

//-----------------------------------

my config file:

# $NetBSD: GENERIC,v 1.251 2007/01/18 00:58:55 macallan Exp $
#
# GENERIC machine description file
#
# This machine description file is used to generate the default NetBSD
# kernel.  The generic kernel does not include all options, subsystems
# and device drivers, but should be useful for most applications.
#
# The machine description file can be customised for your specific
# machine to reduce the kernel size and improve its performance.
#
# For further information on compiling NetBSD kernels, see the config(8)
# man page.
#
# For further information on hardware support for this architecture, see
# the intro(4) man page.  For further information about kernel options
# for this architecture, see the options(4) man page.  For an explanation
# of each device driver in this file see the section 4 man page for the
# device.

include		"arch/macppc/conf/std.macppc"

options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary

#ident 		"GENERIC-$Revision: 1.251 $"

maxusers	32

options 	ALTIVEC		# Include AltiVec support

# Standard system options
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 	SYSTRACE	# system call vetting via systrace(1)

options 	SYSVMSG		# System V message queues
options 	SYSVSEM		# System V semaphores
#options 	SEMMNI=10	# number of semaphore identifiers
#options 	SEMMNS=60	# number of semaphores in system
#options 	SEMUME=10	# max number of undo entries per process
#options 	SEMMNU=30	# number of undo structures in system
options 	SYSVSHM		# System V shared memory
#options 	SHMMAXPGS=1024	# 1024 pages is the default
options 	P1003_1B_SEMAPHORE # p1003.1b semaphore support

options 	LKM		# loadable kernel modules

options 	USERCONF	# userconf(4) support
#options 	PIPE_SOCKETPAIR	# smaller, but slower pipe(2)
options 	SYSCTL_INCLUDE_DESCR	# Include sysctl descriptions in kernel

# Enable experimental buffer queue strategy for better responsiveness under
# high disk I/O load. Use it with caution - it's not proven to be stable yet.
#options 	BUFQ_READPRIO
#options 	BUFQ_PRIOCSCAN

# Diagnostic/debugging support options
#options 	DIAGNOSTIC	# cheap kernel consistency checks
#options 	DEBUG		# expensive debugging checks/support
options 	ZS_CONSOLE_ABORT# allow break to get into DDB on serial
options 	DDB		# in-kernel debugger
#options 	DDB_ONPANIC=0	# don't go into ddb on panic.
options 	DDB_HISTORY_SIZE=512	# enable history editing in DDB
#options 	TRAP_PANICWAIT

#makeoptions 	DEBUG="-g"	# compile full symbol table

# Compatibility options
#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_16	# NetBSD 1.6,
#options 	COMPAT_20	# NetBSD 2.0
options 	COMPAT_30	# NetBSD 3.0 compatibility.
options 	COMPAT_43	# and 4.3BSD
#options 	COMPAT_386BSD_MBRPART # recognize old partition ID
#options 	COMPAT_LINUX	# Linux binary compatibility
#options 	COMPAT_DARWIN	# Darwin binary compatibility (experimental)
#options 	COMPAT_MACH	# Mach compatibility, needed for COMPAT_DARWIN
#options 	EXEC_MACHO	# Mach-O binary support, needed for COMPAT_MACH
#options 	DEBUG_DARWIN	# COMPAT_DARWIN debugging
#options 	DEBUG_MACH	# COMPAT_MACH debugging
#options 	TCP_COMPAT_42	# 4.2BSD TCP/IP bug compat. Not recommended.
options 	COMPAT_BSDPTY	# /dev/[pt]ty?? ptys.

# 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 	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	SMBFS		# CIFS; also needs nsmb (below)
file-system	PTYFS		# /dev/pts/N support
file-system	TMPFS		# Efficient memory file-system
#file-system	UDF		# experimental - OSTA UDF CD/DVD file-system

# File system options
options 	QUOTA		# UFS quotas
options 	FFS_EI		# FFS Endian Independant support
options 	SOFTDEP		# FFS soft updates support.
#options 	UFS_DIRHASH	# UFS Large Directory Hashing - Experimental
options 	NFSSERVER	# Network File System server
#options 	FFS_NO_SNAPSHOT	# No FFS snapshot support
#options 	EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and
				# immutable) behave as system flags.
options 	APPLE_UFS	# Apple UFS support in FFS

options 	NFS_BOOT_DHCP	# Support DHCP NFS root

# 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_NAT_T	# IPsec NAT traversal (NAT-T)
#options 	IPSEC_DEBUG	# debug for IP security
#options 	MROUTING	# IP multicast routing
#options 	PIM		# Protocol Independent Multicast
#options 	ISO,TPIP	# OSI
#options 	EON		# OSI tunneling over IP
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
options 	IPFILTER_LOOKUP	# ippool(8) support
#options 	IPFILTER_DEFAULT_BLOCK	# block all packets by default
#options 	TCP_DEBUG	# Record last TCP_NDEBUG packets with SO_DEBUG

#options 	ALTQ		# Manipulate network interfaces' output queues
#options 	ALTQ_BLUE	# Stochastic Fair Blue
#options 	ALTQ_CBQ	# Class-Based Queueing
#options 	ALTQ_CDNR	# Diffserv Traffic Conditioner
#options 	ALTQ_FIFOQ	# First-In First-Out Queue
#options 	ALTQ_FLOWVALVE	# RED/flow-valve (red-penalty-box)
#options 	ALTQ_HFSC	# Hierarchical Fair Service Curve
#options 	ALTQ_LOCALQ	# Local queueing discipline
#options 	ALTQ_PRIQ	# Priority Queueing
#options 	ALTQ_RED	# Random Early Detection
#options 	ALTQ_RIO	# RED with IN/OUT
#options 	ALTQ_WFQ	# Weighted Fair Queueing

# These options enable verbose messages for several subsystems.
# Warning, these may compile large string tables into the kernel!
options 	PCIVERBOSE	# verbose PCI device autoconfig messages
options 	MIIVERBOSE	# verbose PHY autoconfig messages
#options 	PCI_CONFIG_DUMP	# verbosely dump PCI config space
options 	SCSIVERBOSE	# human readable SCSI error messages
options 	USBVERBOSE	# verbose USB device autoconfig messages

# wscons options
#options 	WSEMUL_SUN			# sun terminal emulation
options 	WSEMUL_VT100			# VT100 / VT220 emulation

options 	WS_DEFAULT_FG=WSCOL_BLACK
options 	WS_DEFAULT_BG=WSCOL_LIGHT_WHITE
options 	WS_KERNEL_FG=WSCOL_GREEN
options 	WS_KERNEL_BG=WSCOL_LIGHT_WHITE

#options 	FONT_GALLANT12x22

#options 	WSDISPLAY_COMPAT_RAWKBD		# can get raw scancodes
#options 	FONT_GALLANT12x22
#options 	FONT_LUCIDA16x29
#options 	FONT_VT220L8x8
options 	FONT_QVSS8x15

# Optional Mac keyboard tweaks

# Tweak the keyboard driver to treat the caps lock key on an ADB
# keyboard as a control key; requires special remapping because of
# ADB's strange emulation of a mechanically-locked key.
#options 	CAPS_IS_CONTROL

# On Mac laptops, several function keys double as "hot keys"
# (brightness, volume, eject) when the Fn modifier is held down.  Mac
# OS X likes to reprogram the keyboard controller to send hot key
# events when Fn is not held down and send function key events when it
# is.  This option transforms the non-keyboard "button" events back
# into function key events.
# enabled by default since trying to control brightness with those causes
# trouble on pretty much all halfway recent Apple laptops
options 	FORCE_FUNCTION_KEYS

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

#
# Device configuration
#

mainbus* at root

cpu*	at mainbus?
bandit*	at mainbus?
grackle* at mainbus?
uninorth* at mainbus?
uni_n*	at mainbus?

pci*	at bandit? bus ?
pci*	at grackle? bus ?
pci*	at uninorth? bus ?
pci*	at ppb? bus ?

pchb*	at pci? dev ? function ?	# PCI-Host 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
lpt*	at puc? port ?			# || ports on > "universal" comm boards

# PCI Network devices
#an*	at pci? dev ? function ?	# Aironet PC4500/PC4800 (802.11)
#ath*	at pci? dev ? function ?	# Atheros 5210/5211/5212 802.11
#atw*	at pci? dev ? function ?	# ADMtek ADM8211 (802.11)
#bge*	at pci? dev ? function ?	# Broadcom 570x Gigabit Ethernet
#ep*	at pci? dev ? function ?	# 3Com 3c59x
#epic*	at pci? dev ? function ?	# SMC EPIC/100 Ethernet
#ex*	at pci? dev ? function ?	# 3Com 90x[BC]
#fpa*	at pci? dev ? function ?	# DEC PCI FDDI (DEFPA) Controller
#fxp*	at pci? dev ? function ?	# Intel EtherExpress PRO 10+/100B
gem*	at pci? dev ? function ?	# gmac ethernet
#gm*	at pci? dev ? function ?	# gmac ethernet (old)
#gsip*	at pci? dev ? function ?	# NS83820 Gigabit Ethernet
#le*	at pci? dev ? function ?	# PCnet-PCI Ethernet
#lmc*	at pci? dev ? function ?	# Lan Media Corp SSI/HSSI/DS3
#mtd*	at pci? dev ? function ?	# Myson MTD803 3-in-1 Ethernet
#ne*	at pci? dev ? function ?	# NE2000-compatible Ethernet
#pcn*	at pci? dev ? function ?	# AMD PCnet-PCI Ethernet
#ral*	at pci? dev ? function ?	# Ralink Technology RT25x0 802.11a/b/g
#re*	at pci? dev ? function ?	# Realtek 8139C+/8169/8169S/8110S
#rtk*	at pci? dev ? function ?	# Realtek 8129/8139
#sf*	at pci? dev ? function ?	# Adaptec AIC-6915 Ethernet
#sip*	at pci? dev ? function ?	# SiS 900/7016 Ethernet
#skc*	at pci? dev ? function ?	# SysKonnect SK9821 Gigabit Ethernet
#sk*	at skc?				# SysKonnect SK9821 Gigabit Ethernet
#ste*	at pci? dev ? function ?	# Sundance ST-201 Ethernet
#stge*	at pci? dev ? function ?	# Sundance/Tamarack TC9021 Gigabit
#ti*	at pci? dev ? function ?	# Alteon ACEnic gigabit Ethernet
#tl*	at pci? dev ? function ?	# ThunderLAN-based Ethernet
#tlp*	at pci? dev ? function ?	# DECchip 21x4x and clones
#vge*	at pci? dev ? function ?	# VIA VT612x Gigabit Ethernet
#vr*	at pci? dev ? function ?	# VIA Rhine Fast Ethernet
#wi*	at pci? dev ? function ?	# Intersil Prism Mini-PCI (802.11b)
#wm*	at pci? dev ? function ?	# Intel 82543/82544 gigabit

# PCI SCSI controllers
adv*	at pci? dev ? function ?	# AdvanSys 1200[A,B], 9xx[U,UA] SCSI
adw*	at pci? dev ? function ?	# AdvanSys 9x0UW[D], 3940U[2,3]W SCSI
ahc*	at pci? dev ? function ?	# Adaptec 294x, aic78x0 SCSI
bha*	at pci? dev ? function ?	# BusLogic 9xx SCSI
esiop*	at pci? dev ? function ?	# NCR 53c8xx SCSI (enhanced)
iha*	at pci? dev ? function ?	# Initio INIC-940/950 SCSI
isp*	at pci? dev ? function ?	# Qlogic ISP 10x0/2xx0 SCSI/Fibre Chan
pcscp*	at pci? dev ? function ?	# AMD Am53c974 PCscsi-PCI SCSI
siop*	at pci? dev ? function ?	# NCR 53c8xx SCSI
trm*	at pci? dev ? function ?	# Tekram DC-395U/UW/F, DC-315/U SCSI

# Display devices
ofb*	at pci? dev ? function ?	# Generic Open Firmware Framebuffer
# OFB_ENABLE_CACHE speeds up the console on many machines, but should
# not be enabled on some older machines, such as the rev. A-D iMacs or any
# O'Hare based machine that uses external cache like the PowerBook 3400c
options 	OFB_ENABLE_CACHE	# Speed up console in ofb
#options 	OFB_FAKE_VGA_FB		# Allow X to mmap VGA regs
#chipsfb*	at pci?	function ?	# C&T 65550
#machfb*		at pci? function ?	# ATI Mach 64, Rage, Rage Pro

radeonfb*	at pci? function ?	# ATI Radeon. R3xx is problematic
options 	RADEONFB_MMAP_BARS	# allow mmap()ing BARs - needed for X

#voodoofb*	at pci? function ?	# 3Dfx Voodoo3

# make sure the console display is always wsdisplay0
wsdisplay0	at wsemuldisplaydev? console 1
wsdisplay*	at wsemuldisplaydev?

#macofcons0 at pci? dev ? function ?	# OpenFirmware console (for debugging)

# Other  PCI devices
pciide* at pci? dev ? function ? flags 0x0000	# GENERIC pciide driver
acardide* at pci? dev ? function ?	# Acard IDE controllers
aceride* at pci? dev ? function ?	# Acer Lab IDE controllers
artsata* at pci? dev ? function ?	# Intel i31244 SATA controller
cmdide* at pci? dev ? function ?	# CMD tech IDE controllers
cypide* at pci? dev ? function ?	# Cypress IDE controllers
hptide* at pci? dev ? function ?	# Triones/HighPoint IDE controllers
optiide* at pci? dev ? function ?	# Opti IDE controllers
pdcide* at pci? dev ? function ?	# Promise IDE controllers
pdcsata* at pci? dev ? function ?	# Promise SATA150 controllers
satalink* at pci? dev ? function ?	# SiI SATALink controllers
siside* at pci? dev ? function ?	# SiS IDE controllers
slide*  at pci? dev ? function ?	# Symphony Labs IDE controllers
viaide* at pci? dev ? function ?	# VIA/AMD/Nvidia IDE controllers
wdc*	at pci? dev ? function ?	# Kauai ATA
cbb*	at pci? dev ? function ?	# PCI-CardBus bridge
obio*	at pci? dev ? function ?

acphy*	at mii? phy ?			# DAltima AC101 and AMD Am79c874 PHYs
amhphy*	at mii? phy ?			# AMD 79c901 Ethernet PHYs
bmtphy*	at mii? phy ?			# Broadcom BCM5201/BCM5202 PHYs
brgphy*	at mii? phy ?			# Broadcom BCM5400 PHYs
ciphy*	at mii? phy ?			# Cicada CS8201 Gig-E PHYs
dmphy*	at mii? phy ?                   # Davicom DM9101 PHYs
exphy*	at mii? phy ?			# 3Com internal PHYs
glxtphy* at mii? phy ?			# Level One LXT-1000 PHYs
gphyter* at mii? phy ?			# NS83861 Gig-E PHY
icsphy*	at mii? phy ?			# Integrated Circuit Systems ICS189x
ikphy*	at mii? phy ?			# Intel 82563 PHYs
inphy*	at mii? phy ?			# Intel 82555 PHYs
iophy*	at mii? phy ?			# Intel 82553 PHYs
lxtphy*	at mii? phy ?			# Level One LXT-970 PHYs
makphy* at mii? phy ?			# Marvell Semiconductor 88E1000 PHYs
nsphy*	at mii? phy ?			# NS83840 PHYs
nsphyter* at mii? phy ?			# NS83843 PHYs
pnaphy* at mii? phy ?			# generic HomePNA PHYs
qsphy*	at mii? phy ?			# Quality Semiconductor QS6612 PHYs
rgephy* at mii? phy ?			# Realtek 8169S/8110S internal PHYs
rlphy*	at mii? phy ?			# Realtek 8139/8201L 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
urlphy* at mii? phy ?			# Realtek RTL8150L internal PHYs

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

bktr*   at      pci? dev ? function ?           # Brooktree
video/audio capture/tuner
radio*  at      bktr?

bm*	at obio?			# bmac ethernet
mc*	at obio?			# MACE ethernet
esp*	at obio? flags 0x00ff		# 53c9x SCSI
mesh*	at obio? flags 0xffff		# MESH SCSI
nvram*	at obio?			# nvram

# the traditional ADB subsystem

adb*	at obio?			# Apple Desktop Bus
apm0	at adb?				# APM emulation
aed*	at adb?				# ADB Event Device
akbd*	at adb?				# ADB keyboard
ams*	at adb?				# ADB mouse
abtn*	at adb?
wskbd0	at akbd? console ?

# the new, improved, experimental ADB subsystem

#cuda*	at obio?		# CUDA, for Old World PowerMacs
#pmu*	at obio?		# PMU, *Books and newer PowerMacs

#iic0	at cuda0		# CUDA's IIC bus
#sgsmix0 at iic0	addr 0x8a	# additional mixer found in beige G3
				# use with awacs

#nadb*	at adb_bus?		# ADB bus enumerator, at cuda or pmu

#adbkbd* at nadb?		# ADB keyboard
#adbms*	at nadb?		# ADB mouse or trackpad

wsmouse* at wsmousedev?
wskbd*	at wskbddev?

zsc*	at obio?
zstty*	at zsc? channel ?
mediabay* at obio?
wdc*	at mediabay? flags 0
# awacs is disabled because on most systems (7300 - 9600 PowerMacs,
# many kinds of G4s), very heavy load can cause the machine to lock
# up. ONLY enable this if your machine is never under heavy load, or
# you'd rather have audio than worry about occasional lockups.
#awacs*	at obio?			# Apple audio device
ki2c*	at obio?			# Keywest I2C
ki2c*	at uni_n?			# Keywest I2C
iic*	at ki2c?
adt7467c*	at ki2c? 		# Analog Devices ADT7467 thermal
					# monitor, iBook G4
adm1030c*	at ki2c? 		# Analog Devices ADM1030 thermal
					# monitor, iBook G3

deq*	at ki2c?			# mixer/equalizer, needed by snapper
wi*	at obio?			# AirMac
snapper* at obio?			# Snapper audio device

cardslot* at cbb?
cardbus* at cardslot?
pcmcia*	at cardslot?

com*	at pcmcia? function ?		# Modems and serial cards
wdc*	at pcmcia? function ?		# PCMCIA IDE controllers
ep*	at pcmcia? function ?		# 3Com 3c589 and 3c562 Ethernet
mbe*	at pcmcia? function ?		# MB8696x based Ethernet
ne*	at pcmcia? function ?		# NE2000-compatible Ethernet
awi*	at pcmcia? function ?		# BayStack 650/660 (802.11FH/DS)
wi*	at pcmcia? function ?		# Lucent WaveLan IEEE (802.11)
ath*	at cardbus? function ?	# Atheros 5210/5211/5212 802.11
atw*	at cardbus? function ?	# ADMtek ADM8211 (802.11)
ex*	at cardbus? function ?	# 3Com 3C575TX
tlp*	at cardbus? function ?	# DECchip 21143
ral*	at cardbus? function ?	# Ralink Technology RT25x0 802.11a/b/g
rtk*	at cardbus? function ?	# Realtek 8129/8139
rtw*	at cardbus? function ?	# Realtek 8180L (802.11)

# Cryptographic Devices

# PCI cryptographic devices
# (disabled, requires opencrypto framework which requires generic softints
#hifn*	at pci? dev ? function ?	# Hifn 7755/7811/795x
#ubsec*	at pci? dev ? function ?	# Broadcom 5501/5601/580x/582x


scsibus* at scsi?

sd*	at scsibus? target ? lun ?	# SCSI disks
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

wdc*	at obio? flags 0x1
atabus* at ata?
wd*	at atabus? drive ? flags 0x0000

atapibus* at atapi?

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

# PCI USB controllers
ohci*	at pci? dev ? function ?	# USB Open Host Controller
ehci*	at pci? dev ? function ?	# USB Enhanced Host Controller

ohci*	at cardbus? function ?	# USB Open Host Controller
ehci*	at cardbus? function ?	# USB Enhanced Host Controller

usb*	at ohci?					# USB bus support
usb*	at ehci?					# USB bus support
uhub*	at usb?						# USB Hubs
uhub*	at uhub? port ? configuration ? interface ?

uhidev*	at uhub? port ? configuration ? interface ?	# USB HID device

pbms*	at uhidev? reportid ?				# PowerBook 15" mouse

ums*	at uhidev? reportid ?				# USB Mice

ukbd*	at uhidev? reportid ?				# USB Keyboards

ucycom*	at uhidev? reportid ?				# USB serial adapter

uhid*	at uhidev? reportid ?				# USB Generic HID

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

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

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

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

# D-Link DSB-R100 USB FM radio tuner
udsbr* at uhub? port ?
radio* at udsbr?

# USB Ethernet adapters
aue*	at uhub? port ?		# ADMtek AN986 Pegasus based adapters
axe*	at uhub? port ?		# ASIX AX88172 based adapters
cue*	at uhub? port ?		# CATC USB-EL1201A based adapters
kue*	at uhub? port ?		# Kawasaki LSI KL5KUSB101B based adapters
url*	at uhub? port ?		# Realtek RTL8150L based adapters
udav*	at uhub? port ?		# Davicom DM9601 based adapters

ukyopon* at uhub? port ?				# Kyocera AIR-EDGE PHONE
ucom*	at ukyopon? portno ?

uscanner* at uhub? port ?				# USB scanners
uyap* at uhub? port ?					# Y@P firmware loader
ugen*	at uhub? port ? configuration ? interface ?	# USB Generic driver

# USB 802.11 adapters
atu*	at uhub? port ?		# Atmel at76c50x 802.11b
ral*	at uhub? port ?		# Ralink Technology RT25x0 802.11a/b/g

# PCI IEEE1394 controllers
fwohci*	at pci? dev ? function ?	# IEEE1394 Open Host Controller

# CardBus IEEE1394 controllers
#fwohci*	at cardbus? function ?	# IEEE1394 Open Host Controller

ieee1394if* at fwohci?
#fwip*	at ieee1394if?			# IP over IEEE1394
sbp*	at ieee1394if? euihi ? euilo ?

# Audio Devices

# PCI audio devices
#clcs*	at pci? dev ? function ?	# Cirrus Logic CS4280
#cmpci*	at pci? dev ? function ?	# C-Media CMI8338/8738
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

# OPL[23] FM synthesizers
#opl*	at cmpci? flags 1
#opl*	at eso?
#opl*	at fms?

# Audio support
audio*	at audiobus?

# MPU 401 UARTs
#mpu*	at cmpci?
#mpu*	at eso?
#mpu*	at fms?

# MIDI support
midi*	at eap?			# 137[01] MIDI port
#midi*	at mpu?			# MPU 401

#pseudo-device 	crypto			# /dev/crypto device
					# (disabled, requires generic softints)
#pseudo-device	swcrypto		# software crypto implementation
pseudo-device	vnd			# disk-like interface to files
#options 	VND_COMPRESSION		# compressed vnd(4)
pseudo-device	ccd		4	# concatenated/striped disk devices
#pseudo-device	cgd		4	# cryptographic disk devices
pseudo-device	raid		8	# RAIDframe disk driver
options 	RAID_AUTOCONFIG		# auto-configuration of RAID components
# Options to enable various other RAIDframe RAID types.
# options 	RF_INCLUDE_EVENODD=1
# options 	RF_INCLUDE_RAID5_RS=1
# options 	RF_INCLUDE_PARITYLOGGING=1
# options 	RF_INCLUDE_CHAINDECLUSTER=1
# options 	RF_INCLUDE_INTERDECLUSTER=1
# options 	RF_INCLUDE_PARITY_DECLUSTERING=1
# options 	RF_INCLUDE_PARITY_DECLUSTERING_DS=1
pseudo-device	fss		4	# file system snapshot device
pseudo-device	md		1	# memory disk device
pseudo-device	loop			# network loopback
pseudo-device	bpfilter		# packet filter
pseudo-device	ipfilter		# IP filter (firewall) and NAT
pseudo-device	ppp			# Point-to-Point Protocol
pseudo-device	pppoe			# PPP over Ethernet (RFC 2516)
pseudo-device	sl			# Serial Line IP
pseudo-device	tun			# network tunneling over tty
pseudo-device	tap			# virtual Ethernet
#pseudo-device	gre			# generic L3 over IP tunnel
pseudo-device	gif			# IPv[46] over IPv[46] tunnel (RFC1933)
#pseudo-device	faith			# IPv[46] tcp relay translation i/f
pseudo-device	stf			# 6to4 IPv6 over IPv4 encapsulation
pseudo-device	vlan			# IEEE 802.1q encapsulation
pseudo-device	bridge			# simple inter-network bridging
#options 	BRIDGE_IPF		# bridge uses IP/IPv6 pfil hooks too
pseudo-device	pty			# pseudo-terminals
pseudo-device	rnd			# /dev/random and in-kernel generator
pseudo-device	openfirm		# /dev/openfirm
pseudo-device	wsmux			# mouse and keyboard multiplexor
pseudo-device	clockctl		# user control of clock subsystem
pseudo-device	ksyms			# /dev/ksyms
pseudo-device	nsmb			# SMB requester
#pseudo-device	pf			# PF packet filter
#pseudo-device	pflog			# PF log if

# Veriexec
#
# a pseudo device needed for veriexec
#pseudo-device	veriexec		1
#
# Uncomment the fingerprint methods below that are desired. Note that
# removing fingerprint methods will have almost no impact on the kernel
# code size.
#
#options VERIFIED_EXEC_FP_RMD160
#options VERIFIED_EXEC_FP_SHA256
#options VERIFIED_EXEC_FP_SHA384
#options VERIFIED_EXEC_FP_SHA512
#options VERIFIED_EXEC_FP_SHA1
#options VERIFIED_EXEC_FP_MD5

#options PAX_MPROTECT=0			# PaX mprotect(2) restrictions