MPCSA_GENERIC revision 1.16
11.16Splunky# $NetBSD: MPCSA_GENERIC,v 1.16 2010/05/22 19:02:08 plunky Exp $
21.2Smatt#
31.2Smatt# GENERIC machine description file
41.2Smatt#
51.2Smatt# This machine description file is used to generate the default NetBSD
61.2Smatt# kernel.  The generic kernel does not include all options, subsystems
71.2Smatt# and device drivers, but should be useful for most applications.
81.2Smatt#
91.2Smatt# The machine description file can be customised for your specific
101.2Smatt# machine to reduce the kernel size and improve its performance.
111.2Smatt#
121.2Smatt# For further information on compiling NetBSD kernels, see the config(8)
131.2Smatt# man page.
141.2Smatt#
151.2Smatt# For further information on hardware support for this architecture, see
161.2Smatt# the intro(4) man page.  For further information about kernel options
171.2Smatt# for this architecture, see the options(4) man page.  For an explanation
181.2Smatt# of each device driver in this file see the section 4 man page for the
191.2Smatt# device.
201.2Smatt
211.2Smattinclude		"arch/evbarm/conf/std.mpcsa"
221.2Smatt
231.2Smattoptions 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
241.2Smatt
251.16Splunky#ident 		"GENERIC-$Revision: 1.16 $"
261.2Smatt
271.2Smattmaxusers	32		# estimated number of users
281.2Smatt
291.2Smatt# CPU support.
301.2Smattoptions		CPU_ARM9    # Support the ARM9TDMI core
311.2Smattmakeoptions	CPUFLAGS="-mtune=arm920t -mcpu=arm920t"
321.2Smatt
331.2Smatt# CPU-related options.
341.2Smatt#options 	MATH_EMULATE	# floating point emulation
351.2Smatt
361.2Smatt# doesn't work with MP just yet..
371.2Smatt#options 	PERFCTRS	# performance-monitoring counters support
381.2Smatt
391.2Smatt#options 	MULTIBOOT	# Multiboot support (see multiboot(8))
401.2Smatt
411.2Smatt# delay between "rebooting ..." message and hardware reset, in milliseconds
421.2Smatt#options 	CPURESET_DELAY=2000
431.2Smatt
441.2Smatt# This option allows you to force a serial console at the specified
451.2Smatt# I/O address.   see console(4) for details.
461.2Smatt#options 	CONSDEVNAME="\"com\"",CONADDR=0x2f8,CONSPEED=57600
471.2Smatt#	you don't want the option below ON iff you are using the
481.2Smatt#	serial console option of the new boot strap code.
491.2Smatt#options 	CONS_OVERRIDE	# Always use above! independent of boot info
501.2Smatt
511.2Smatt# Standard system options
521.2Smatt
531.2Smatt#options 	INSECURE	# disable kernel security levels - X needs this
541.2Smatt
551.2Smattoptions 	RTC_OFFSET=0	# hardware clock is this many mins. west of GMT
561.2Smattoptions 	NTP		# NTP phase/frequency locked loop
571.2Smatt
581.2Smattoptions 	KTRACE		# system call tracing via ktrace(1)
591.2Smatt
601.2Smattoptions 	SYSVMSG		# System V-like message queues
611.2Smattoptions 	SYSVSEM		# System V-like semaphores
621.2Smatt#options 	SEMMNI=10	# number of semaphore identifiers
631.2Smatt#options 	SEMMNS=60	# number of semaphores in system
641.2Smatt#options 	SEMUME=10	# max number of undo entries per process
651.2Smatt#options 	SEMMNU=30	# number of undo structures in system
661.2Smattoptions 	SYSVSHM		# System V-like memory sharing
671.2Smattoptions 	P1003_1B_SEMAPHORE	# p1003.1b semaphore support
681.2Smatt
691.2Smatt
701.2Smatt#options 	USERCONF	# userconf(4) support
711.2Smatt#options 	PIPE_SOCKETPAIR	# smaller, but slower pipe(2)
721.2Smattoptions 	SYSCTL_INCLUDE_DESCR	# Include sysctl descriptions in kernel
731.2Smatt
741.2Smatt# Beep when it is safe to power down the system (requires sysbeep)
751.2Smatt#options 	BEEP_ONHALT
761.2Smatt# Some tunable details of the above feature (default values used below)
771.2Smatt#options 	BEEP_ONHALT_COUNT=3	# Times to beep
781.2Smatt#options 	BEEP_ONHALT_PITCH=1500	# Default frequency (in Hz)
791.2Smatt#options 	BEEP_ONHALT_PERIOD=250	# Default duration (in msecs)
801.2Smatt
811.2Smatt# Enable experimental buffer queue strategy for better responsiveness under
821.2Smatt# high disk I/O load. Likely stable but not yet the default.
831.2Smatt#options 	BUFQ_READPRIO
841.2Smatt#options 	BUFQ_PRIOCSCAN
851.2Smatt
861.2Smatt# Diagnostic/debugging support options
871.2Smattoptions 	DIAGNOSTIC	# expensive kernel consistency checks
881.2Smattoptions 	DEBUG		# expensive debugging checks/support
891.2Smattoptions 	KMEMSTATS	# kernel memory statistics (vmstat -m)
901.2Smattoptions 	DDB		# in-kernel debugger
911.2Smattoptions 	DDB_ONPANIC=1	# see also sysctl(8): `ddb.onpanic'
921.2Smattoptions 	DDB_HISTORY_SIZE=512	# enable history editing in DDB
931.2Smatt#options 	KGDB		# remote debugger
941.2Smatt#options 	KGDB_DEVNAME="\"com\"",KGDB_DEVADDR=0x3f8,KGDB_DEVRATE=9600
951.2Smattmakeoptions	DEBUG="-Os -g"	# compile full symbol table
961.2Smattoptions     SYMTAB_SPACE=450000
971.2Smatt#options 	SYSCALL_STATS	# per syscall counts
981.2Smatt#options 	SYSCALL_TIMES	# per syscall times
991.2Smatt#options 	SYSCALL_TIMES_HASCOUNTER	# use 'broken' rdtsc (soekris)
1001.2Smatt
1011.2Smatt# Compatibility options
1021.2Smatt#options 	COMPAT_NOMID	# NetBSD 0.8, 386BSD, and BSDI
1031.2Smatt#options 	COMPAT_09	# NetBSD 0.9
1041.2Smatt#options 	COMPAT_10	# NetBSD 1.0
1051.2Smatt#options 	COMPAT_11	# NetBSD 1.1
1061.2Smatt#options 	COMPAT_12	# NetBSD 1.2, 386BSD, and BSDI
1071.2Smatt#options 	COMPAT_13	# NetBSD 1.3, 386BSD, and BSDI
1081.2Smatt#options 	COMPAT_14	# NetBSD 1.4
1091.2Smatt#options 	COMPAT_15	# NetBSD 1.5
1101.2Smattoptions 	COMPAT_16	# NetBSD 1.6
1111.2Smattoptions 	COMPAT_20	# NetBSD 2.0
1121.2Smattoptions 	COMPAT_30	# NetBSD 3.0
1131.2Smattoptions 	COMPAT_43	# 4.3BSD, 386BSD, and BSDI
1141.2Smatt#options 	COMPAT_386BSD_MBRPART # recognize old partition ID
1151.2Smatt#options 	TCP_COMPAT_42	# 4.2BSD TCP/IP bug compat. Not recommended.
1161.2Smatt
1171.2Smatt#options 	COMPAT_OSSAUDIO	# OSS (Voxware) audio driver compatibility
1181.2Smatt#options 	COMPAT_SVR4	# binary compatibility with SVR4
1191.2Smatt#options 	COMPAT_IBCS2	# binary compatibility with SCO and ISC
1201.2Smatt#options 	COMPAT_LINUX	# binary compatibility with Linux
1211.2Smatt#options 	COMPAT_FREEBSD	# binary compatibility with FreeBSD
1221.2Smatt#options 	COMPAT_MACH	# binary compatibility with Mach binaries
1231.2Smatt#options 	COMPAT_DARWIN	# binary compatibility with Darwin binaries
1241.2Smatt#options 	EXEC_MACHO	# exec MACH-O binaries
1251.2Smatt#options 	COMPAT_NDIS	# NDIS network driver
1261.2Smatt#options 	COMPAT_PECOFF	# kernel support to run Win32 apps
1271.2Smattoptions 	COMPAT_BSDPTY	# /dev/[pt]ty?? ptys.
1281.2Smatt
1291.2Smatt# File systems
1301.2Smattfile-system 	FFS		# UFS
1311.2Smatt#file-system 	EXT2FS		# second extended file system (linux)
1321.2Smatt#file-system 	LFS		# log-structured file system
1331.2Smattfile-system 	MFS		# memory file system
1341.2Smattfile-system 	NFS		# Network File System client
1351.2Smatt#file-system 	NTFS		# Windows/NT file system (experimental)
1361.2Smatt#file-system 	CD9660		# ISO 9660 + Rock Ridge file system
1371.2Smattfile-system 	MSDOSFS		# MS-DOS file system
1381.2Smatt#file-system 	FDESC		# /dev/fd
1391.2Smattfile-system 	KERNFS		# /kern
1401.2Smattfile-system 	NULLFS		# loopback file system
1411.2Smatt#file-system 	OVERLAY		# overlay file system
1421.2Smatt#file-system 	PROCFS		# /proc
1431.2Smatt#file-system 	UMAPFS		# NULLFS + uid and gid remapping
1441.2Smattfile-system 	UNION		# union file system
1451.2Smatt#file-system	CODA		# Coda File System; also needs vcoda (below)
1461.2Smatt#file-system	SMBFS		# experimental - CIFS; also needs nsmb (below)
1471.2Smattfile-system	PTYFS		# /dev/ptm support
1481.2Smattfile-system	TMPFS		# Efficient memory file-system
1491.2Smatt#file-system	UDF		# experimental - OSTA UDF CD/DVD file-system
1501.2Smatt
1511.2Smatt# File system options
1521.2Smatt#options 	QUOTA		# UFS quotas
1531.2Smatt#options 	FFS_EI		# FFS Endian Independent support
1541.3Ssimonboptions 	WAPBL		# File system journaling support - Experimental
1551.2Smatt# Note that UFS_DIRHASH is suspected of causing kernel memory corruption.
1561.2Smatt# It is not recommended for general use.
1571.2Smatt#options 	UFS_DIRHASH	# UFS Large Directory Hashing - Experimental
1581.2Smatt#options 	NFSSERVER	# Network File System server
1591.2Smattoptions 	FFS_NO_SNAPSHOT	# No FFS snapshot support
1601.2Smatt#options 	EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and
1611.2Smatt				# immutable) behave as system flags.
1621.2Smatt
1631.2Smatt# Networking options
1641.2Smattoptions 	GATEWAY		# packet forwarding
1651.2Smattoptions 	INET		# IP + ICMP + TCP + UDP
1661.2Smatt#options 	INET6		# IPV6
1671.2Smatt#options 	IPSEC		# IP security
1681.2Smatt#options 	IPSEC_ESP	# IP security (encryption part; define w/IPSEC)
1691.2Smatt#options 	IPSEC_NAT_T	# IPsec NAT traversal (NAT-T)
1701.2Smatt#options 	IPSEC_DEBUG	# debug for IP security
1711.2Smatt#options 	MROUTING	# IP multicast routing
1721.2Smatt#options 	PIM		# Protocol Independent Multicast
1731.2Smatt#options 	ISO,TPIP	# OSI
1741.2Smatt#options 	EON		# OSI tunneling over IP
1751.2Smatt#options 	NETATALK	# AppleTalk networking protocols
1761.2Smattoptions 	PPP_BSDCOMP	# BSD-Compress compression support for PPP
1771.2Smattoptions 	PPP_DEFLATE	# Deflate compression support for PPP
1781.2Smattoptions 	PPP_FILTER	# Active filter support for PPP (requires bpf)
1791.2Smattoptions 	PFIL_HOOKS	# pfil(9) packet filter hooks
1801.2Smattoptions 	IPFILTER_LOG	# ipmon(8) log support
1811.2Smattoptions 	IPFILTER_LOOKUP	# ippool(8) support
1821.15Smrgoptions 	IPFILTER_COMPAT # Compat for IP-Filter
1831.2Smatt#options 	IPFILTER_DEFAULT_BLOCK	# block all packets by default
1841.2Smatt#options 	TCP_DEBUG	# Record last TCP_NDEBUG packets with SO_DEBUG
1851.2Smatt
1861.2Smatt#options 	ALTQ		# Manipulate network interfaces' output queues
1871.2Smatt#options 	ALTQ_BLUE	# Stochastic Fair Blue
1881.2Smatt#options 	ALTQ_CBQ	# Class-Based Queueing
1891.2Smatt#options 	ALTQ_CDNR	# Diffserv Traffic Conditioner
1901.2Smatt#options 	ALTQ_FIFOQ	# First-In First-Out Queue
1911.2Smatt#options 	ALTQ_FLOWVALVE	# RED/flow-valve (red-penalty-box)
1921.2Smatt#options 	ALTQ_HFSC	# Hierarchical Fair Service Curve
1931.2Smatt#options 	ALTQ_LOCALQ	# Local queueing discipline
1941.2Smatt#options 	ALTQ_PRIQ	# Priority Queueing
1951.2Smatt#options 	ALTQ_RED	# Random Early Detection
1961.2Smatt#options 	ALTQ_RIO	# RED with IN/OUT
1971.2Smatt#options 	ALTQ_WFQ	# Weighted Fair Queueing
1981.2Smatt
1991.2Smatt# These options enable verbose messages for several subsystems.
2001.2Smatt# Warning, these may compile large string tables into the kernel!
2011.2Smattoptions 	MIIVERBOSE	# verbose PHY autoconfig messages
2021.2Smattoptions 	PCMCIAVERBOSE	# verbose PCMCIA configuration messages
2031.2Smattoptions 	SCSIVERBOSE	# human readable SCSI error messages
2041.2Smattoptions 	USBVERBOSE	# verbose USB device autoconfig messages
2051.2Smatt
2061.2Smattoptions 	NFS_BOOT_DHCP,NFS_BOOT_BOOTPARAM
2071.2Smatt
2081.2Smatt#
2091.2Smatt# wscons options
2101.2Smatt#
2111.2Smatt# builtin terminal emulations
2121.2Smatt#options 	WSEMUL_SUN		# sun terminal emulation
2131.2Smatt#options 	WSEMUL_VT100		# VT100 / VT220 emulation
2141.2Smatt# customization of console and kernel output - see dev/wscons/wsdisplayvar.h
2151.2Smatt#options 	WSDISPLAY_CUSTOM_OUTPUT	# color customization from wsconsctl(8)
2161.2Smatt#options 	WS_DEFAULT_FG=WSCOL_WHITE
2171.2Smatt#options 	WS_DEFAULT_BG=WSCOL_BLACK
2181.2Smatt#options 	WS_DEFAULT_COLATTR="(0)"
2191.2Smatt#options 	WS_DEFAULT_MONOATTR="(0)"
2201.2Smatt#options 	WS_KERNEL_FG=WSCOL_GREEN
2211.2Smatt#options 	WS_KERNEL_BG=WSCOL_BLACK
2221.2Smatt#options 	WS_KERNEL_COLATTR=""
2231.2Smatt#options 	WS_KERNEL_MONOATTR=""
2241.2Smatt# customization of console border color
2251.2Smatt#options 	WSDISPLAY_CUSTOM_BORDER	# custom border colors via wsconsctl(8)
2261.2Smatt#options 	WSDISPLAY_BORDER_COLOR=WSCOL_BLUE	# default color
2271.2Smatt# compatibility to other console drivers
2281.2Smatt#options 	WSDISPLAY_COMPAT_PCVT		# emulate some ioctls
2291.2Smatt#options 	WSDISPLAY_COMPAT_SYSCONS	# emulate some ioctls
2301.2Smatt#options 	WSDISPLAY_COMPAT_USL		# VT handling
2311.2Smatt#options 	WSDISPLAY_COMPAT_RAWKBD		# can get raw scancodes
2321.2Smatt#options 	WSKBD_EVENT_AUTOREPEAT		# auto repeat in event mode
2331.2Smatt#options 	WSKBD_USONLY			# strip off non-US keymaps
2341.2Smatt# don't attach pckbd as the console if no PS/2 keyboard is found
2351.2Smatt#options 	PCKBD_CNATTACH_MAY_FAIL
2361.2Smatt# see dev/pckbport/wskbdmap_mfii.c for implemented layouts
2371.2Smatt#options 	PCKBD_LAYOUT="(KB_DE | KB_NODEAD)" # for pckbd driver
2381.2Smatt#options 	UKBD_LAYOUT="(KB_DE | KB_NODEAD)"  # for ukbd driver
2391.2Smatt# allocate a number of virtual screens at autoconfiguration time
2401.2Smatt#options 	WSDISPLAY_DEFAULTSCREENS=4
2411.2Smatt# use a large software cursor that doesn't blink
2421.2Smatt#options 	PCDISPLAY_SOFTCURSOR
2431.2Smatt# modify the screen type of the console; defaults to "80x25"
2441.2Smatt#options 	VGA_CONSOLE_SCREENTYPE="\"80x24\""
2451.2Smatt# work around a hardware bug that loaded fonts don't work; found on ATI cards
2461.2Smatt#options 	VGA_CONSOLE_ATI_BROKEN_FONTSEL
2471.2Smatt# console scrolling support.
2481.2Smatt#options 	WSDISPLAY_SCROLLSUPPORT
2491.2Smatt# enable VGA raster mode capable of displaying multilingual text on console
2501.2Smatt#options 	VGA_RASTERCONSOLE
2511.2Smatt# enable splash screen support; requires hw driver support
2521.2Smatt#options 	SPLASHSCREEN
2531.2Smatt#options 	SPLASHSCREEN_PROGRESS
2541.2Smatt
2551.2Smatt# Kernel root file system and dump configuration.
2561.2Smatt#config		netbsd root on sd0c type ffs
2571.2Smattconfig		netbsd root on wd0a type ffs
2581.2Smatt#config		netbsd root on ? type ?
2591.2Smatt#config		netbsd	root on ? type nfs
2601.2Smatt
2611.2Smatt#
2621.2Smatt# Device configuration
2631.2Smatt#
2641.2Smatt
2651.2Smattmainbus0 at root
2661.2Smatt
2671.2Smattcpu* at mainbus?
2681.2Smatt
2691.2Smatt# Basic Bus Support
2701.2Smattat91bus0	at mainbus?		# AT91 bus
2711.2Smatt
2721.2Smatt
2731.2Smatt# Integrated peripherals:
2741.2Smatt# On-chip interrupt controller
2751.2Smattat91aic0	at at91bus0 addr 0xfffff000 size 0x200
2761.2Smatt
2771.2Smatt# On-chip timer
2781.2Smatt#at91st0		at at91bus0 addr 0xfffffd00 size 0x100 pid 1
2791.2Smattat91tctmr0	at at91bus0 addr 0xfffa0000 size 0x40 pid 17
2801.2Smatt
2811.2Smatt# On-chip debug UART
2821.2Smattat91dbgu0	at at91bus0 addr 0xfffff200 size 0x200 pid 1
2831.2Smatt
2841.2Smatt# On-chip UARTs
2851.2Smattat91usart0	at at91bus0 addr 0xfffc0000 size 0x4000 pid 6
2861.2Smattat91usart1	at at91bus0 addr 0xfffc4000 size 0x4000 pid 7
2871.2Smattat91usart2	at at91bus0 addr 0xfffc8000 size 0x4000 pid 8
2881.2Smattat91usart3	at at91bus0 addr 0xfffcc000 size 0x4000 pid 9
2891.2Smatt
2901.2Smatt# On-chip ethernet
2911.2Smattat91emac0	at at91bus0 addr 0xfffbc000 size 0x4000 pid 24
2921.2Smatt
2931.2Smatt# General purpose I/O
2941.2Smattat91pio0	at at91bus0 addr 0xfffff400 size 0x200 pid 2
2951.2Smattat91pio1	at at91bus0 addr 0xfffff600 size 0x200 pid 3
2961.2Smattat91pio2	at at91bus0 addr 0xfffff800 size 0x200 pid 4
2971.2Smattat91pio3	at at91bus0 addr 0xfffffa00 size 0x200 pid 5
2981.2Smattgpio*		at at91pio?
2991.2Smatt
3001.2Smatt# On-chip CF interface
3011.2Smattat91cf0	at at91bus0 addr 0x50000000 size 0x900000 pid 4
3021.2Smattpcmcia0		at at91cf0
3031.2Smatt
3041.2Smatt# On-chip USB 1.1
3051.2Smattohci0		at at91bus0 addr 0x00300000 size 0x100000 pid 23
3061.2Smatt
3071.2Smatt# On-chip SPI
3081.2Smattat91spi0	at at91bus0 addr 0xfffe0000 size 0x4000 pid 13
3091.2Smattspi0		at at91spi0
3101.2Smatt#spi_obuf0	at spi0 slave 1
3111.2Smatt#gpio*		at spi_obuf?
3121.2Smattmpcsa_leds0	at spi0 slave 1
3131.2Smattgpio*		at mpcsa_leds?
3141.2Smatt
3151.2Smatt# On-chip I2C
3161.2Smattat91twi0	at at91bus0 addr 0xfffb8000 size 0x4000 pid 12
3171.2Smattiic0		at at91twi?
3181.2Smattds1672rtc*	at iic0 addr 0x68
3191.2Smattseeprom*	at iic0 addr 0x50 size 4096
3201.2Smatt
3211.2Smatt# Console Devices
3221.2Smatt
3231.2Smatt# PCMCIA serial interfaces
3241.2Smattcom*	at pcmcia? function ?		# Modems and serial cards
3251.2Smatt
3261.2Smattpcmcom* at pcmcia? function ?		# PCMCIA multi-port serial cards
3271.2Smattcom*	at pcmcom? slave ?		# ...and the slave devices
3281.2Smatt
3291.2Smatt
3301.2Smatt# Hardware monitors
3311.2Smatt
3321.2Smatt# AMD 768 and 8111 power/ACPI controllers
3331.5Spgoyette#dbcool* at iic? addr 0x2C		# Unknown other motherboard(s)
3341.5Spgoyette#dbcool* at iic? addr 0x2D		# Tyan S2881
3351.5Spgoyette#dbcool* at iic? addr 0x2E		# Tyan S2882-D
3361.2Smatt
3371.2Smatt# 1-Wire support
3381.2Smatt#gpioow* 	at gpio? offset 6 mask 0x1	# 1-wire bitbanging via gpio
3391.2Smatt#onewire*	at gpioow?
3401.2Smatt
3411.2Smatt# 1-Wire devices
3421.2Smatt#owtemp* 	at onewire?			# Temperature sensors
3431.2Smatt
3441.2Smatt# SCSI Controllers and Devices
3451.2Smatt
3461.2Smatt# PCMCIA SCSI controllers
3471.2Smatt#aic*	at pcmcia? function ?		# Adaptec APA-1460 SCSI
3481.2Smatt#esp*	at pcmcia? function ?		# Qlogic ESP406/FAS408 SCSI
3491.2Smatt#spc* 	at pcmcia? function ?		# Fujitsu MB87030/MB89352 SCSI
3501.2Smatt
3511.2Smatt# SCSI bus support
3521.2Smattscsibus* at scsi?
3531.2Smatt
3541.2Smatt# SCSI devices
3551.2Smattsd*	at scsibus? target ? lun ?	# SCSI disk drives
3561.2Smatt#st*	at scsibus? target ? lun ?	# SCSI tape drives
3571.2Smatt#cd*	at scsibus? target ? lun ?	# SCSI CD-ROM drives
3581.2Smatt#ch*	at scsibus? target ? lun ?	# SCSI autochangers
3591.2Smatt#ses*	at scsibus? target ? lun ?	# SCSI Enclosure Services devices
3601.2Smatt#ss*	at scsibus? target ? lun ?	# SCSI scanners
3611.2Smatt#uk*	at scsibus? target ? lun ?	# SCSI unknown
3621.2Smatt
3631.2Smatt
3641.2Smatt# PCMCIA IDE controllers
3651.2Smattwdc*	at pcmcia? function ?
3661.2Smatt
3671.2Smatt# ATA (IDE) bus support
3681.2Smattatabus*	at wdc? channel ?
3691.2Smatt#atabus* at ata?
3701.2Smatt
3711.2Smatt# IDE drives
3721.2Smatt# Flags are used only with controllers that support DMA operations
3731.2Smatt# and mode settings (e.g. some pciide controllers)
3741.2Smatt# The lowest order four bits (rightmost digit) of the flags define the PIO
3751.2Smatt# mode to use, the next set of four bits the DMA mode and the third set the
3761.2Smatt# UltraDMA mode. For each set of four bits, the 3 lower bits define the mode
3771.2Smatt# to use, and the last bit must be 1 for this setting to be used.
3781.2Smatt# For DMA and UDMA, 0xf (1111) means 'disable'.
3791.2Smatt# 0x0fac means 'use PIO mode 4, DMA mode 2, disable UltraDMA'.
3801.2Smatt# (0xc=1100, 0xa=1010, 0xf=1111)
3811.2Smatt# 0x0000 means "use whatever the drive claims to support".
3821.2Smattwd*	at atabus? drive ? flags 0x0000
3831.2Smatt
3841.2Smatt# ATAPI bus support
3851.2Smattatapibus* at atapi?
3861.2Smatt
3871.2Smatt# ATAPI devices
3881.2Smatt# flags have the same meaning as for IDE drives.
3891.2Smatt#cd*	at atapibus? drive ? flags 0x0000	# ATAPI CD-ROM drives
3901.2Smattsd*	at atapibus? drive ? flags 0x0000	# ATAPI disk drives
3911.2Smatt#st*	at atapibus? drive ? flags 0x0000	# ATAPI tape drives
3921.2Smatt#uk*	at atapibus? drive ? flags 0x0000	# ATAPI unknown
3931.2Smatt
3941.2Smatt
3951.2Smatt# Miscellaneous mass storage devices
3961.2Smatt
3971.2Smatt
3981.2Smatt
3991.2Smatt# Network Interfaces
4001.2Smatt
4011.2Smatt# PCMCIA network interfaces
4021.2Smatt#an*	at pcmcia? function ?		# Aironet PC4500/PC4800 (802.11)
4031.2Smatt#awi*	at pcmcia? function ?		# BayStack 650/660 (802.11FH/DS)
4041.2Smatt#cnw*	at pcmcia? function ?		# Xircom/Netwave AirSurfer
4051.2Smatt#cs*	at pcmcia? function ?		# CS89xx Ethernet
4061.2Smatt#ep*	at pcmcia? function ?		# 3Com 3c589 and 3c562 Ethernet
4071.2Smatt#mbe*	at pcmcia? function ?		# MB8696x based Ethernet
4081.2Smatt#ne*	at pcmcia? function ?		# NE2000-compatible Ethernet
4091.2Smatt#ray*	at pcmcia? function ?		# Raytheon Raylink (802.11)
4101.2Smatt#sm*	at pcmcia? function ?		# Megahertz Ethernet
4111.2Smatt# tr at pcmcia has problems with Cardbus bridges
4121.2Smatt#tr*	at pcmcia? function ?		# TROPIC based Token-Ring
4131.2Smattwi*	at pcmcia? function ?		# Lucent/Intersil WaveLan IEEE (802.11)
4141.2Smatt#xirc*	at pcmcia? function ?		# Xircom CreditCard Ethernet
4151.2Smatt#com*	at xirc?
4161.2Smatt#xi*	at xirc?
4171.2Smatt#mhzc*	at pcmcia? function ?		# Megahertz Ethernet/Modem combo cards
4181.2Smatt#com*	at mhzc?
4191.2Smatt#sm*	at mhzc?
4201.2Smatt
4211.2Smatt
4221.2Smatt# MII/PHY support
4231.2Smatt#acphy*	at mii? phy ?			# Altima AC101 and AMD Am79c874 PHYs
4241.2Smatt#amhphy* at mii? phy ?			# AMD 79c901 Ethernet PHYs
4251.2Smatt#bmtphy* at mii? phy ?			# Broadcom BCM5201 and BCM5202 PHYs
4261.2Smatt#brgphy* at mii? phy ?			# Broadcom BCM5400-family PHYs
4271.2Smatt#ciphy*	at mii? phy ?			# Cicada CS8201 Gig-E PHYs
4281.2Smatt#dmphy*	at mii? phy ?			# Davicom DM9101 PHYs
4291.2Smatt#exphy*	at mii? phy ?			# 3Com internal PHYs
4301.2Smatt#gentbi* at mii? phy ?			# Generic Ten-Bit 1000BASE-[CLS]X PHYs
4311.2Smatt#glxtphy* at mii? phy ?			# Level One LXT-1000 PHYs
4321.2Smatt#gphyter* at mii? phy ?			# NS83861 Gig-E PHY
4331.2Smatt#icsphy* at mii? phy ?			# Integrated Circuit Systems ICS189x
4341.2Smatt#igphy*	at mii? phy ?			# Intel IGP01E1000
4351.2Smatt#ikphy*	at mii? phy ?			# Intel 82563 PHYs
4361.2Smatt#inphy*	at mii? phy ?			# Intel 82555 PHYs
4371.2Smatt#iophy*	at mii? phy ?			# Intel 82553 PHYs
4381.2Smatt#lxtphy* at mii? phy ?			# Level One LXT-970 PHYs
4391.2Smatt#makphy* at mii? phy ?			# Marvell Semiconductor 88E1000 PHYs
4401.2Smatt#nsphy*	at mii? phy ?			# NS83840 PHYs
4411.2Smatt#nsphyter* at mii? phy ? 		# NS83843 PHYs
4421.2Smatt#pnaphy* at mii? phy ?			# generic HomePNA PHYs
4431.2Smatt#qsphy*	at mii? phy ?			# Quality Semiconductor QS6612 PHYs
4441.2Smatt#rgephy* at mii? phy ?			# Realtek 8169S/8110S internal PHYs
4451.2Smatt#rlphy*	at mii? phy ?			# Realtek 8139/8201L PHYs
4461.2Smatt#sqphy*	at mii? phy ?			# Seeq 80220/80221/80223 PHYs
4471.2Smatt#tlphy*	at mii? phy ?			# ThunderLAN PHYs
4481.2Smatt#tqphy*	at mii? phy ?			# TDK Semiconductor PHYs
4491.2Smattukphy0	at at91emac0 phy 3
4501.2Smattukphy*	at aue? phy ?			# generic unknown PHYs
4511.2Smattukphy*	at axe? phy ?			# generic unknown PHYs
4521.2Smattukphy*	at udav? phy ?			# generic unknown PHYs
4531.2Smattukphy*	at url? phy ?			# generic unknown PHYs
4541.2Smatt#urlphy* at mii? phy ?			# Realtek RTL8150L internal PHYs
4551.2Smatt
4561.2Smatt
4571.2Smatt# USB Controller and Devices
4581.2Smatt
4591.2Smatt# USB bus support
4601.2Smattusb*	at ohci?
4611.2Smatt
4621.2Smatt# USB Hubs
4631.2Smattuhub*	at usb?
4641.2Smattuhub*	at uhub? port ? configuration ? interface ?
4651.2Smatt
4661.2Smatt# USB HID device
4671.2Smatt#uhidev*	at uhub? port ? configuration ? interface ?
4681.2Smatt
4691.2Smatt# USB Mice
4701.2Smatt#ums*	at uhidev? reportid ?
4711.2Smatt#wsmouse* at ums? mux 0
4721.2Smatt
4731.2Smatt# USB eGalax touch-panel
4741.2Smatt#uep*	at uhub? port ?
4751.2Smatt#wsmouse* at uep? mux 0
4761.2Smatt
4771.2Smatt# USB Keyboards
4781.2Smatt#ukbd*	at uhidev? reportid ?
4791.2Smatt#wskbd*	at ukbd? console ? mux 1
4801.2Smatt
4811.2Smatt# USB serial adapter
4821.2Smatt#ucycom*	at uhidev? reportid ?
4831.2Smatt
4841.2Smatt# USB Generic HID devices
4851.2Smatt#uhid*	at uhidev? reportid ?
4861.2Smatt
4871.2Smatt# USB Printer
4881.2Smatt#ulpt*	at uhub? port ? configuration ? interface ?
4891.2Smatt
4901.2Smatt# USB Modem
4911.2Smatt#umodem*	at uhub? port ? configuration ?
4921.2Smatt#ucom*	at umodem?
4931.2Smatt
4941.13Splunky# Option N.V. Wireless WAN modems
4951.13Splunky#uhso*	at uhub? port ? configuration ?
4961.13Splunky
4971.2Smatt# USB Mass Storage
4981.2Smattumass*	at uhub? port ? configuration ? interface ?
4991.2Smattwd*	at umass?
5001.2Smatt
5011.2Smatt# USB audio
5021.2Smatt#uaudio*	at uhub? port ? configuration ?
5031.2Smatt
5041.2Smatt# USB MIDI
5051.2Smatt#umidi* at uhub? port ? configuration ?
5061.2Smatt
5071.2Smatt# USB IrDA
5081.2Smatt# USB-IrDA bridge spec
5091.2Smatt#uirda* at uhub? port ? configuration ? interface ?
5101.2Smatt#irframe* at uirda?
5111.2Smatt
5121.2Smatt# SigmaTel STIr4200 USB/IrDA Bridge
5131.2Smatt#ustir* at uhub? port ?
5141.2Smatt#irframe* at ustir?
5151.2Smatt
5161.2Smatt# USB Ethernet adapters
5171.2Smattaue*	at uhub? port ?		# ADMtek AN986 Pegasus based adapters
5181.2Smattaxe*	at uhub? port ?		# ASIX AX88172 based adapters
5191.2Smattcdce*	at uhub? port ?		# CDC, Ethernet Networking Control Model
5201.2Smattcue*	at uhub? port ?		# CATC USB-EL1201A based adapters
5211.2Smattkue*	at uhub? port ?		# Kawasaki LSI KL5KUSB101B based adapters
5221.2Smattudav*	at uhub? port ?		# Davicom DM9601 based adapters
5231.2Smatturl*	at uhub? port ?		# Realtek RTL8150L based adapters
5241.2Smatt
5251.2Smatt# USB 802.11 adapters
5261.2Smattatu*	at uhub? port ?		# Atmel AT76C50XX based adapters
5271.2Smattral*	at uhub? port ?		# Ralink Technology RT25x0 802.11a/b/g
5281.2Smattrum*	at uhub? port ?		# Ralink Technology RT2501/RT2601 802.11a/b/g
5291.2Smatt
5301.2Smatt# Prolific PL2301/PL2302 host-to-host adapter
5311.2Smattupl*	at uhub? port ?
5321.2Smatt
5331.2Smatt# Serial adapters
5341.2Smattubsa*	at uhub? port ?		# Belkin serial adapter
5351.2Smattucom*	at ubsa? portno ?
5361.2Smatt
5371.2Smattuftdi*	at uhub? port ?		# FTDI FT8U100AX serial adapter
5381.2Smattucom*	at uftdi? portno ?
5391.2Smatt
5401.2Smatt#uipaq*	at uhub? port ?		# iPAQ PDAs
5411.2Smatt#ucom*	at uipaq? portno ?
5421.2Smatt
5431.2Smattumct*	at uhub? port ?		# MCT USB-RS232 serial adapter
5441.2Smattucom*	at umct? portno ?
5451.2Smatt
5461.2Smattuplcom* at uhub? port ? 	# I/O DATA USB-RSAQ2 serial adapter
5471.2Smattucom*	at uplcom? portno ?
5481.2Smatt
5491.2Smattuvscom* at uhub? port ? 	# SUNTAC Slipper U VS-10U serial adapter
5501.2Smattucom*	at uvscom? portno ?
5511.2Smatt
5521.2Smatt# Diamond Multimedia Rio 500
5531.2Smatt#urio*	at uhub? port ?
5541.2Smatt
5551.2Smatt# USB Handspring Visor
5561.2Smatt#uvisor*	at uhub? port ?
5571.2Smatt#ucom*	at uvisor?
5581.2Smatt
5591.2Smatt# Kyocera AIR-EDGE PHONE
5601.2Smatt#ukyopon* at uhub? port ?
5611.2Smatt#ucom*	at ukyopon? portno ?
5621.2Smatt
5631.2Smatt# USB scanners
5641.2Smatt#uscanner* at uhub? port ?
5651.2Smatt
5661.2Smatt# USB scanners that use SCSI emulation, e.g., HP5300
5671.2Smatt#usscanner* at uhub? port ?
5681.2Smatt
5691.2Smatt# Topfield TF5000PVR range of DVB recorders
5701.2Smatt#utoppy*	at uhub? port ?
5711.2Smatt
5721.2Smatt# Y@P firmware loader
5731.2Smatt#uyap* at uhub? port ?
5741.2Smatt
5751.2Smatt# D-Link DSB-R100 USB radio
5761.2Smatt#udsbr*	at uhub? port ?
5771.2Smatt#radio*	at udsbr?
5781.2Smatt
5791.2Smatt# USB Generic driver
5801.2Smatt#ugen*	at uhub? port ?
5811.2Smatt
5821.2Smatt
5831.2Smatt# IrDA and Consumer Ir devices
5841.2Smatt
5851.2Smatt# Toshiba Oboe
5861.2Smatt
5871.2Smatt# Audio Devices
5881.2Smatt
5891.2Smatt# Audio support
5901.2Smatt#audio*	at audiobus?
5911.2Smatt
5921.2Smatt# MIDI support
5931.2Smatt#midi*	at midibus?
5941.2Smatt#midi*	at pcppi?		# MIDI interface to the PC speaker
5951.2Smatt
5961.2Smatt
5971.2Smatt
5981.2Smatt# Bluetooth Controller and Device support
5991.2Smatt
6001.2Smatt# Bluetooth PCMCIA Controllers
6011.2Smatt#bt3c* at pcmcia? function ?		# 3Com 3CRWB6096-A
6021.2Smatt
6031.2Smatt# Bluetooth USB Controllers
6041.2Smatt#ubt* at uhub? port ? configuration ? interface ?
6051.2Smatt
6061.2Smatt# Bluetooth Device Hub
6071.2Smatt#bthub* at bt3c?
6081.2Smatt#bthub* at ubt?
6091.2Smatt
6101.2Smatt# Bluetooth HID support
6111.2Smatt#bthidev* at bthub?
6121.2Smatt
6131.2Smatt# Bluetooth Mouse
6141.2Smatt#btms* at bthidev? reportid ?
6151.2Smatt#wsmouse* at btms? mux 0
6161.2Smatt
6171.2Smatt# Bluetooth Keyboard
6181.2Smatt#btkbd* at bthidev? reportid ?
6191.2Smatt#wskbd* at btkbd? console ? mux 1
6201.2Smatt
6211.16Splunky# Bluetooth Apple Magic Mouse
6221.16Splunky#btmagic* at bthub?
6231.16Splunky#wsmouse* at btmagic? mux 0
6241.16Splunky
6251.2Smatt# Bluetooth Audio support
6261.2Smatt#btsco* at bthub?
6271.2Smatt
6281.2Smatt
6291.2Smatt
6301.2Smatt
6311.2Smatt# Pseudo-Devices
6321.2Smatt
6331.2Smatt#pseudo-device 	crypto		# /dev/crypto device
6341.2Smatt#pseudo-device	swcrypto	# software crypto implementation
6351.2Smatt
6361.2Smatt# disk/mass storage pseudo-devices
6371.2Smatt#pseudo-device	ccd		4	# concatenated/striped disk devices
6381.2Smatt#pseudo-device	cgd		4	# cryptographic disk devices
6391.2Smatt#pseudo-device	raid		8	# RAIDframe disk driver
6401.2Smatt#options 	RAID_AUTOCONFIG		# auto-configuration of RAID components
6411.2Smatt# Options to enable various other RAIDframe RAID types.
6421.2Smatt#options 	RF_INCLUDE_EVENODD=1
6431.2Smatt#options 	RF_INCLUDE_RAID5_RS=1
6441.2Smatt#options 	RF_INCLUDE_PARITYLOGGING=1
6451.2Smatt#options 	RF_INCLUDE_CHAINDECLUSTER=1
6461.2Smatt#options 	RF_INCLUDE_INTERDECLUSTER=1
6471.2Smatt#options 	RF_INCLUDE_PARITY_DECLUSTERING=1
6481.2Smatt#options 	RF_INCLUDE_PARITY_DECLUSTERING_DS=1
6491.14Spooka#pseudo-device	fss			# file system snapshot device
6501.2Smatt
6511.2Smattpseudo-device	md		1	# memory disk device (ramdisk)
6521.2Smatt#pseudo-device	vnd			# disk-like interface to files
6531.2Smatt#options 	VND_COMPRESSION		# compressed vnd(4)
6541.2Smatt
6551.2Smatt# network pseudo-devices
6561.2Smattpseudo-device	bpfilter		# Berkeley packet filter
6571.2Smatt#pseudo-device	carp			# Common Address Redundancy Protocol
6581.2Smattpseudo-device	ipfilter		# IP filter (firewall) and NAT
6591.2Smattpseudo-device	loop			# network loopback
6601.2Smattpseudo-device	ppp			# Point-to-Point Protocol
6611.2Smatt#pseudo-device	pppoe			# PPP over Ethernet (RFC 2516)
6621.2Smatt#pseudo-device	sl			# Serial Line IP
6631.2Smatt#pseudo-device	strip			# Starmode Radio IP (Metricom)
6641.2Smatt#pseudo-device	irframetty		# IrDA frame line discipline
6651.2Smatt#pseudo-device	tap			# virtual Ethernet
6661.2Smattpseudo-device	tun			# network tunneling over tty
6671.2Smatt#pseudo-device	gre			# generic L3 over IP tunnel
6681.2Smatt#pseudo-device	gif			# IPv[46] over IPv[46] tunnel (RFC1933)
6691.2Smatt#pseudo-device	faith			# IPv[46] tcp relay translation i/f
6701.2Smatt#pseudo-device	stf			# 6to4 IPv6 over IPv4 encapsulation
6711.2Smattpseudo-device	vlan			# IEEE 802.1q encapsulation
6721.2Smatt#pseudo-device	bridge			# simple inter-network bridging
6731.2Smatt#options 	BRIDGE_IPF		# bridge uses IP/IPv6 pfil hooks too
6741.2Smattpseudo-device	pf			# PF packet filter
6751.2Smattpseudo-device	pflog			# PF log if
6761.2Smatt# srt is EXPERIMENTAL
6771.2Smatt#pseudo-device	srt			# source-address-based routing
6781.2Smatt
6791.2Smatt# miscellaneous pseudo-devices
6801.2Smattpseudo-device	pty			# pseudo-terminals
6811.2Smatt#pseudo-device	sequencer	1	# MIDI sequencer
6821.2Smattpseudo-device	rnd			# /dev/random and in-kernel generator
6831.2Smatt#options 	RND_COM			# use "com" randomness as well (BROKEN)
6841.2Smattpseudo-device	clockctl		# user control of clock subsystem
6851.2Smattpseudo-device	ksyms			# /dev/ksyms
6861.2Smatt
6871.2Smatt# a pseudo device needed for Coda	# also needs CODA (above)
6881.2Smatt#pseudo-device	vcoda		4	# coda minicache <-> venus comm.
6891.2Smatt
6901.2Smatt# a pseudo device needed for SMBFS
6911.2Smatt#pseudo-device	nsmb			# experimental - SMB requester
6921.2Smatt
6931.2Smatt# wscons pseudo-devices
6941.2Smatt#pseudo-device	wsmux			# mouse & keyboard multiplexor
6951.2Smatt#pseudo-device	wsfont
6961.2Smatt
6971.2Smatt#options 	FILEASSOC		# fileassoc(9) - required for Veriexec
6981.2Smatt
6991.2Smatt# Veriexec
7001.2Smatt#pseudo-device	veriexec
7011.2Smatt#
7021.2Smatt# Uncomment the fingerprint methods below that are desired. Note that
7031.2Smatt# removing fingerprint methods will have almost no impact on the kernel
7041.2Smatt# code size.
7051.2Smatt#
7061.2Smatt#options VERIFIED_EXEC_FP_RMD160
7071.2Smatt#options VERIFIED_EXEC_FP_SHA256
7081.2Smatt#options VERIFIED_EXEC_FP_SHA384
7091.2Smatt#options VERIFIED_EXEC_FP_SHA512
7101.2Smatt#options VERIFIED_EXEC_FP_SHA1
7111.2Smatt#options VERIFIED_EXEC_FP_MD5
7121.2Smatt
7131.2Smattoptions PAX_MPROTECT=0			# PaX mprotect(2) restrictions
714