# $NetBSD: GENERIC,v 1.854 2007/10/26 22:20:43 xtraeme 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.

#
# All audio devices need the audiobus attribute in the kernel.  All
# midi devices need the midibus attribute in the kernel.
#
# Following devices can't be LKMs for now:
#
# xirc:  dev/pcmcia/xirc.c is required by multiple attributes.
# mhzc: dev/pcmcia/mhzc.c is required by multiple attributes.
# ndis: ??? ndis_driver_data.h
# audiobus, midibus: NAUDIO, NMIDI
# mpu@sb: depends on NMPU
# apm: assym.h depends on NAPMBIOS
# acpi: NACPI
# acpiec: NACPIEC
# WSDISPLAY_SCROLLSUPPORT: wskbd requires NWSDISPLAY for this
# isa: i386 kernel unconditionally needs functions in arch/x86/isa/clock.c
#    If isa is moved out of kernel, following devices may have problem
#       eso: implicitly requires isa
#       mca: implicitly requires isa
#
# npx: acpi_wakup.c calls npxinit()
# pci: acpi implicitly requires pci. if you have acpi in the kernel,
#      pci can't be an LKM.

# Please note `no's at the end of this file.

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

options         INCLUDE_CONFIG_FILE     # embed config file in kernel binary

#ident          "GENERIC-$Revision: 1.854 $"

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

makeoptions     CPUFLAGS="-march=i486 -mtune=pentiumpro" # Assume at least 486,
                                                       # tune for more modern

# CPU-related options.
#options        MATH_EMULATE    # floating point emulation
options         VM86            # virtual 8086 emulation
options         USER_LDT        # user-settable LDT; used by WINE
# insert delay no-ops in interrupts; recommended on very old machines
#options        PIC_DELAY

# Enhanced SpeedStep Technology in the Pentium M
options         ENHANCED_SPEEDSTEP
#options        EST_FREQ_USERWRITE      # any user can set frequency

# AMD PowerNow! K7
options         POWERNOW_K7

# AMD PowerNow! and Cool`n'Quiet technology
options         POWERNOW_K8

# VIA PadLock
#options        VIA_PADLOCK

# Intel(R) On Demand Clock Modulation (aka ODCM)
# options       INTEL_ONDEMAND_CLOCKMOD

options         MTRR            # memory-type range register syscall support
# doesn't work with MP just yet..
#options        PERFCTRS        # performance-monitoring counters support

options         MULTIBOOT       # Multiboot support (see multiboot(8))

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

# 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         INSECURE        # disable kernel security levels - X needs this

options         RTC_OFFSET=0    # hardware clock is this many mins. west of GMT
options         NTP             # NTP phase/frequency locked loop
#options        NO_TSC_TIME     # Don't use TSC microtime, even if available.
                               # Improves time behavior under VMware.

options         KTRACE          # system call tracing via ktrace(1)
#options        SYSTRACE        # system call vetting via systrace(1)

options         SYSVMSG         # System V-like message queues
options         SYSVSEM         # System V-like 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-like memory sharing
#options        SHMMAXPGS=2048  # 2048 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

# Beep when it is safe to power down the system (requires sysbeep)
#options        BEEP_ONHALT
# Some tunable details of the above feature (default values used below)
#options        BEEP_ONHALT_COUNT=3     # Times to beep
#options        BEEP_ONHALT_PITCH=1500  # Default frequency (in Hz)
#options        BEEP_ONHALT_PERIOD=250  # Default duration (in msecs)

# Enable experimental buffer queue strategy for better responsiveness under
# high disk I/O load. Likely stable but not yet the default.
#options        BUFQ_READPRIO
#options        BUFQ_PRIOCSCAN

# Diagnostic/debugging support options
#options        DIAGNOSTIC      # expensive kernel consistency checks
#options        DEBUG           # expensive debugging checks/support
#options        KMEMSTATS       # kernel memory statistics (vmstat -m)
options         DDB             # in-kernel debugger
#options        DDB_ONPANIC=1   # see also sysctl(8): `ddb.onpanic'
options         DDB_HISTORY_SIZE=512    # enable history editing in DDB
#options        DDB_VERBOSE_HELP
#options        KGDB            # remote debugger
#options        KGDB_DEVNAME="\"com\"",KGDB_DEVADDR=0x3f8,KGDB_DEVRATE=9600
#makeoptions    DEBUG="-g"      # compile full symbol table
#options        SYSCALL_STATS   # per syscall counts
#options        SYSCALL_TIMES   # per syscall times
#options        SYSCALL_TIMES_HASCOUNTER        # use 'broken' rdtsc (soekris)

# Compatibility options
options         COMPAT_NOMID    # NetBSD 0.8, 386BSD, and BSDI
options         COMPAT_09       # NetBSD 0.9
options         COMPAT_10       # NetBSD 1.0
options         COMPAT_11       # NetBSD 1.1
options         COMPAT_12       # NetBSD 1.2, 386BSD, and BSDI
options         COMPAT_13       # NetBSD 1.3, 386BSD, and BSDI
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
options         COMPAT_40       # NetBSD 4.0
options         COMPAT_43       # 4.3BSD, 386BSD, and BSDI
#options        COMPAT_386BSD_MBRPART # recognize old partition ID
#options        TCP_COMPAT_42   # 4.2BSD TCP/IP bug compat. Not recommended.

options         COMPAT_OSSAUDIO # OSS (Voxware) audio driver compatibility
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_MACH     # binary compatibility with Mach binaries
#options        COMPAT_DARWIN   # binary compatibility with Darwin binaries
#options        EXEC_MACHO      # exec MACH-O binaries
#options        COMPAT_NDIS     # NDIS network driver
#options        COMPAT_PECOFF   # kernel support to run Win32 apps
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     NTFS            # Windows/NT file system (experimental)
file-system     CD9660          # ISO 9660 + Rock Ridge file system
file-system     MSDOSFS         # MS-DOS file system
file-system     FDESC           # /dev/fd
file-system     KERNFS          # /kern
file-system     NULLFS          # loopback file system
file-system     OVERLAY         # overlay file system
file-system     PORTAL          # portal filesystem (still experimental)
file-system     PROCFS          # /proc
file-system     UMAPFS          # NULLFS + uid and gid remapping
file-system     UNION           # union file system
file-system     CODA            # Coda File System; also needs vcoda (below)
file-system     SMBFS           # experimental - CIFS; also needs nsmb (below)
file-system     PTYFS           # /dev/ptm support
file-system     TMPFS           # Efficient memory file-system
#file-system    UDF             # experimental - OSTA UDF CD/DVD file-system
#file-system    HFS             # experimental - Apple HFS+ (read-only)

# File system options
options         QUOTA           # UFS quotas
#options        FFS_EI          # FFS Endian Independent support
options         SOFTDEP         # FFS soft updates support.
# Note that UFS_DIRHASH is suspected of causing kernel memory corruption.
# It is not recommended for general use.
#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.

# 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         ACPIVERBOSE     # verbose ACPI device autoconfig messages
options         EISAVERBOSE     # verbose EISA device autoconfig messages
options         MIIVERBOSE      # verbose PHY autoconfig messages
options         PCIVERBOSE      # verbose PCI device autoconfig messages
#options        PCI_CONFIG_DUMP # verbosely dump PCI config space
#options        PCMCIAVERBOSE   # verbose PCMCIA configuration messages
options         SCSIVERBOSE     # human readable SCSI error messages
options         USBVERBOSE      # verbose USB device autoconfig messages
#options        PNPBIOSVERBOSE  # verbose PnP BIOS messages
#options        PNPBIOSDEBUG    # more fulsome PnP BIOS debugging messages
options         MCAVERBOSE      # verbose MCA device autoconfig 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
# customization of console and kernel output - see dev/wscons/wsdisplayvar.h
options         WSDISPLAY_CUSTOM_OUTPUT # color customization from wsconsctl(8)
#options        WS_DEFAULT_FG=WSCOL_WHITE
#options        WS_DEFAULT_BG=WSCOL_BLACK
#options        WS_DEFAULT_COLATTR="(0)"
#options        WS_DEFAULT_MONOATTR="(0)"
options         WS_KERNEL_FG=WSCOL_GREEN
#options        WS_KERNEL_BG=WSCOL_BLACK
#options        WS_KERNEL_COLATTR=""
#options        WS_KERNEL_MONOATTR=""
# customization of console border color
options         WSDISPLAY_CUSTOM_BORDER # custom border colors via wsconsctl(8)
#options        WSDISPLAY_BORDER_COLOR=WSCOL_BLUE       # default color
# 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
#options        WSKBD_EVENT_AUTOREPEAT          # auto repeat in event mode
#options        WSKBD_USONLY                    # strip off non-US keymaps
# don't attach pckbd as the console if no PS/2 keyboard is found
options         PCKBD_CNATTACH_MAY_FAIL
# see dev/pckbport/wskbdmap_mfii.c for implemented layouts
#options        PCKBD_LAYOUT="(KB_DE | KB_NODEAD)" # for pckbd driver
#options        UKBD_LAYOUT="(KB_DE | KB_NODEAD)"  # for ukbd driver
# allocate a number of virtual screens at autoconfiguration time
#options        WSDISPLAY_DEFAULTSCREENS=4
# use a large software cursor that doesn't blink
options         PCDISPLAY_SOFTCURSOR
# modify the screen type of the console; defaults to "80x25"
#options        VGA_CONSOLE_SCREENTYPE="\"80x24\""
# work around a hardware bug that loaded fonts don't work; found on ATI cards
#options        VGA_CONSOLE_ATI_BROKEN_FONTSEL
# console scrolling support.
#options        WSDISPLAY_SCROLLSUPPORT
# enable VGA raster mode capable of displaying multilingual text on console
#options        VGA_RASTERCONSOLE
# enable splash screen support; requires hw driver support
#options        SPLASHSCREEN
#options        SPLASHSCREEN_PROGRESS

# 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

cpu* at mainbus?
ioapic* at mainbus?

# Doesn't do anything yet.
module p64h2apic* at pci? dev? function?        # P64H2 IOxAPIC

apm0    at mainbus0                     # Advanced power management

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


# Basic Bus Support

#IPMI support

module ipmi0            at mainbus?

# Advanced Configuration and Power Interface

# This option can be used to retrieve CPU and APIC information.
# that I/O APICs can be used if ACPI is enabled below.
# To use the I/O APIC(s), enable the ioapic line above.
#options        MPBIOS          # configure CPUs and APICs using MPBIOS
#options        MPBIOS_SCANPCI  # find PCI roots using MPBIOS
options         ACPI_SCANPCI    # find PCI roots using ACPI

acpi0           at mainbus0

#options        ACPI_ACTIVATE_DEV       # If set, activate inactive devices
#options        ACPICA_PEDANTIC         # force strict conformance to the Spec.

# ACPI devices
module apm*             at acpi?                # ACPI apm emulation
module acpiacad*        at acpi?                # ACPI AC Adapter
module acpibat*         at acpi?                # ACPI Battery
module acpibut*         at acpi?                # ACPI Button
acpiec*                 at acpi?                # ACPI Embedded Controller
module acpilid*         at acpi?                # ACPI Lid Switch
module acpitz*  at acpi?                # ACPI Thermal Zone

# Mainboard devices
module aiboost* at acpi?                # ASUS AI Booster Hardware Monitor
module attimer* at acpi?                # AT Timer
module com*     at acpi?                # Serial communications interface
module fdc*     at acpi?                # Floppy disk controller

module hpet*    at acpi?                # High Precision Event Timer
module joy*     at acpi?                # Joystick/Game port
module lpt*     at acpi?                # Parallel port
module mpu*     at acpi?                # Roland MPU-401 MIDI UART
module npx*     at acpi?                # Math coprocessor
module pckbc*   at acpi?                # PC keyboard controller
module pcppi*   at acpi?                # AT-style speaker sound
module ug*      at acpi?                # Abit uGuru Hardware monitor
module wss*     at acpi?                # NeoMagic 256AV in wss mode
module ym*      at acpi?                # Yamaha OPL3-SA[23] audio

# Sony Vaio jog dial
module spic*    at acpi?                # Sony Programmable I/O Controller
module wsmouse* at spic?

# Sony LCD brightness etc.
module sony*    at acpi?                # Sony Miscellaneous Controller

# Toshiba Libretto devices
module vald* at acpi?

# Plug-and-Play BIOS and attached devices

module pnpbios* at mainbus?

# mainboard audio chips
module ess*             at pnpbios? index ?     # ESS AudioDrive
module sb*              at pnpbios? index ?     # NeoMagic 256AV in sb mode
module wss*             at pnpbios? index ?     # NeoMagic 256AV in wss mode
module ym*              at pnpbios? index ?     # Yamaha OPL3-SA[23] audio

# com port
# If enabled, consider changing "com0", "com1", and "com2" under "ISA Serial
# Interfaces" to "com*", otherwise com2 will attach at pnpbios? and there
# will be no com0.  A side effect is pcmcia (and other) com? previously
# starting at com3 may attach as com1 or com2.
module com*             at pnpbios? index ?     # serial ports

# parallel port
# The above "com*" comments apply, cf. "lpt0" under "ISA parallel
# "printer interfaces".
module lpt*     at pnpbios? index ?     # parallel ports

module pckbc*   at pnpbios? index ?     # PC keyboard/mouse controller
module fdc*     at pnpbios? index ?     # floppy controller
module npx*     at pnpbios? index ?     # Math coprocessor

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

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

# Configure PCI using BIOS information
#options        PCIBIOS                 # PCI BIOS support
#options        PCIBIOSVERBOSE          # PCI BIOS verbose info
#options        PCIBIOS_IRQS_HINT=0x0a00 # PCI interrupts hint. IRQ 9 or 11
#options        PCIBIOS_INTR_GUESS      # see pcibios(4)
#options        PCIBIOS_LIBRETTO_FIXUP  # this code makes the Toshiba Libretto
                                       # L2/L3 work, but should not be enabled
                                       # on anything else.
#options        PCIBIOS_SHARP_MM20_FIXUP # this code makes the Sharp MM 20
                                       # work, but should not be enabled
                                       # on anything else.
#options        PCIINTR_DEBUG           # super-verbose PCI interrupt fixup

# PCI fixups, for both PCIBIOS and ACPI
#options        PCI_ADDR_FIXUP          # fixup PCI I/O addresses
#options        PCI_BUS_FIXUP           # fixup PCI bus numbering
#options        PCI_INTR_FIXUP          # fixup PCI interrupt routing

# System Controllers
module elansc* at pci? dev ? function ? # AMD Elan SC520 System Controller
module gpio*    at elansc?

# PCI bridges
module amdpcib* at pci? dev ? function ?        # AMD 8111 PCI-ISA w/ HPET

module hpet*    at amdpcib?

module ichlpcib* at pci? dev ? function ?       # Intel ICH PCI-ISA w/ timecounter,
                                       # watchdog and SpeedStep support
module piixpcib* at pci? dev ? function ?       # Intel PIIX4 PCI-ISA w/ SpeedStep
module gscpcib* at pci? dev ? function ?        # NS Geode PCI-ISA w/ GPIO support
module viapcib* at pci? dev ? function ?        # VIA VT8235 PCI-ISA w/ SMBus support

module iic*     at viapcib?
module pchb*    at pci? dev ? function ?        # PCI-Host bridges
module pceb*    at pci? dev ? function ?        # PCI-EISA bridges
module pcib*    at pci? dev ? function ?        # PCI-ISA bridges
module pcmb*    at pci? dev ? function ?        # PCI-MCA bridges

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

module agp*     at pchb?


# EISA bus support
module eisa0    at mainbus?
module eisa0    at pceb?

# ISA bus support
module isa0     at amdpcib?
module isa0     at ichlpcib?
module isa0     at piixpcib?
module isa0     at gscpcib?
module isa0     at viapcib?
isa0    at mainbus?
module isa0     at pceb?
module isa0     at pcib?

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

# MCA bus support
module mca0     at mainbus?

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

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

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

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

# CardBus bridge support
module cbb*             at pci? dev ? function ?
module cardslot*        at cbb?

# CardBus bus support
module cardbus* at cardslot?
module pcmcia*  at cardslot?

# Coprocessor Support

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


# Console Devices

# ISA console
#pc0    at isa? port 0x60 irq 1         # pccons generic PC console driver
# Keyboard layout configuration for pccons
#options        FRENCH_KBD
#options        FINNISH_KBD
#options        GERMAN_KBD
#options        NORWEGIAN_KBD


# wscons
module pckbc0           at isa?                 # pc keyboard controller
module pckbd*           at pckbc?               # PC keyboard
module pms*             at pckbc?               # PS/2 mouse for wsmouse
#options        PMS_DISABLE_POWERHOOK   # Disable PS/2 reset on resume
options         PMS_SYNAPTICS_TOUCHPAD  # Enable support for Synaptics Touchpads
module vga0             at isa?
module vga*             at pci? dev ? function ?
module pcdisplay0       at isa?                 # CGA, MDA, EGA, HGA
module machfb*  at pci? dev ? function ? # ATI Mach64 framebuffer driver
module wsdisplay*       at vga? console ?
module wsdisplay*       at pcdisplay? console ?
module wsdisplay*       at machfb? console ?
module wskbd*           at pckbd? console ?
module wsmouse* at pms? mux 0

# VESA framebuffer console
#options        KVM86                   # required for vesabios
module vesabios*        at vesabiosbus?
module vesafb*  at vesabios?
#options        VESAFB_WIDTH=640
#options        VESAFB_HEIGHT=480
#options        VESAFB_DEPTH=8
#options        VESAFB_PM               # power management support
module wsdisplay*       at vesafb? console ?

# VIA Unichrome framebuffer console
module unichromefb*     at pci? dev ? function ?
module wsdisplay*       at unichromefb?

module attimer0 at isa?
module pcppi0           at isa?
module sysbeep0 at pcppi?

# Serial Devices

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

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

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

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

# CardBus serial interfaces
module com*     at cardbus? function ?  # Modems and serial cards

# ISA serial interfaces
#options        COM_HAYESP              # adds Hayes ESP serial board support
module com0     at isa? port 0x3f8 irq 4        # Standard PC serial ports
module com1     at isa? port 0x2f8 irq 3
module 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
#addcom0 at isa? port 0x108 irq 5       # Addonics FlexPort 8S
#com*   at addcom? slave ?
#moxa0  at isa? port 0x100 irq 5        # MOXA C168H serial card (experimental)
#com*   at moxa? slave ?
#ioat*  at isa? port 0x220 irq 5        # BOCA IOAT66 6-port serial card
#com*   at ioat? slave ?

# MCA serial interfaces
module com*     at mca? slot ?                  # 16x50s on comm boards

# Parallel Printer Interfaces

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

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

# Hardware monitors

# AMD 768 and 8111 power/ACPI controllers
module amdpm*   at pci? dev ? function ?        # RNG and SMBus 1.0 interface
module iic*     at amdpm?                       # sensors below are on this bus

# Intel ICH SMBus controller
module ichsmb*  at pci? dev ? function ?
module iic*     at ichsmb?

# NVIDIA nForce2/3/4 SMBus controller
module nfsmbc*  at pci? dev ? function ?
module nfsmb*   at nfsmbc?
module iic*     at nfsmb?

# Intel PIIX4 power management controllers
module piixpm* at pci? dev ? function ? # PIIX4 compatible PM controller
module iic*     at piixpm?                      # SMBus on PIIX4

module adt7463c* at iic? addr 0x2C              # Unknown other motherboard(s)
module adt7463c* at iic? addr 0x2D              # Tyan S2881
module adt7463c* at iic? addr 0x2E              # Tyan S2882-D

# IBM Thinkpad Active Protection System
module aps0     at isa? port 0x1600

# iTE IT87xxF and compatible hardware monitors
module itesio0  at isa? port 0x290              # other ports: 0xc00, 0xd00

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

# SMSC LPC47B397 hardware monitor functions
module smsc0    at isa? port 0x02e

# PC87366 hardware monitor
module nsclpcsio*       at isa?
module gpio*            at nsclpcsio?

# Abit uGuru Hardware system monitor
module ug0    at isa? port 0xe0

# VIA VT82C686A/VT8231 Hardware Monitor and Power Management Timer
module viaenv*  at pci? dev ? function ?

# Serial Presence Detect capable memory modules
module spdmem* at iic? addr 0x50
module spdmem* at iic? addr 0x51
module spdmem* at iic? addr 0x52
module spdmem* at iic? addr 0x53

# I2O devices
module iop*     at pci? dev ? function ?        # I/O processor
module iopsp*   at iop? tid ?                   # SCSI/FC-AL ports
module ld*      at iop? tid ?                   # block devices
module dpti*    at iop? tid 0                   # DPT/Adaptec control interface

# GPIO devices
module gpio*    at gscpcib?

# 1-Wire support
module gpioow*  at gpio? offset 6 mask 0x1      # 1-wire bitbanging via gpio
module onewire* at gpioow?

# 1-Wire devices
module owtemp*  at onewire?                     # Temperature sensors

# SCSI Controllers and Devices

# PCI SCSI controllers
module adv*     at pci? dev ? function ?        # AdvanSys 1200[A,B], 9xx[U,UA] SCSI
module adw*     at pci? dev ? function ?        # AdvanSys 9x0UW[D], 3940U[2,3]W SCSI
module ahc*     at pci? dev ? function ?        # Adaptec [23]94x, aic78x0 SCSI
module ahd*     at pci? dev ? function ?        # Adaptec 29320, 39320 (aic790x) SCSI
module bha*     at pci? dev ? function ?        # BusLogic 9xx SCSI
module dpt*     at pci? dev ? function ?        # DPT SmartCache/SmartRAID
module iha*     at pci? dev ? function ?        # Initio INIC-940/950 SCSI
module isp*     at pci? dev ? function ?        # Qlogic ISP [12]0x0 SCSI/FibreChannel
module mfi*     at pci? dev ? function ?        # LSI MegaRAID SAS
module mly*     at pci? dev ? function ?        # Mylex AcceleRAID and eXtremeRAID
module mpt*     at pci? dev ? function ?        # LSI Fusion SCSI/FC
module njs*     at pci? dev ? function ?        # Workbit NinjaSCSI-32
module pcscp*   at pci? dev ? function ?        # AMD 53c974 PCscsi-PCI SCSI
module siop*    at pci? dev ? function ?        # Symbios 53c8xx SCSI
module esiop*   at pci? dev ? function ?        # Symbios 53c875 SCSI and newer
#options        SIOP_SYMLED             # drive the act. LED in software
module trm*     at pci? dev ? function ?        # Tekram DC-395U/UW/F, DC-315/U SCSI

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

# PCMCIA SCSI controllers
module aic*     at pcmcia? function ?           # Adaptec APA-1460 SCSI
module esp*     at pcmcia? function ?           # Qlogic ESP406/FAS408 SCSI
module spc*     at pcmcia? function ?           # Fujitsu MB87030/MB89352 SCSI

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

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

# CardBus SCSI cards
module adv*     at cardbus? function ?  # AdvanSys 1200[A,B], 9xx[U,UA] SCSI
module ahc*     at cardbus? function ?  # Adaptec ADP-1480
module njs*     at cardbus? function ?  # Workbit NinjaSCSI-32

# MCA SCSI cards
module aha*     at mca? slot ?                  # Adaptec AHA-1640

# SCSI bus support
module scsibus* at scsi?

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


# RAID controllers and devices
module aac*     at pci? dev ? function ?        # Adaptec AAC family
module amr*     at pci? dev ? function ?        # AMI/LSI Logic MegaRAID
module cac*     at eisa? slot ?                 # Compaq EISA array controllers
module cac*     at pci? dev ? function ?        # Compaq PCI array controllers
module ciss*    at pci? dev ? function ?        # HP Smart Array controllers
module icp*     at pci? dev ? function ?        # ICP-Vortex GDT & Intel RAID
module mlx*     at pci? dev ? function ?        # Mylex DAC960 & DEC SWXCR family
module mlx*     at eisa? slot ?                 # Mylex DAC960 & DEC SWXCR family
module twa*     at pci? dev ? function ?        # 3ware Escalade 95xx RAID controllers
module twe*     at pci? dev ? function ?        # 3ware Escalade RAID controllers

module ld*      at aac? unit ?                  # logical disk devices
module ld*      at amr? unit ?
module ld*      at cac? unit ?
module ld*      at icp? unit ?
module ld*      at twa? unit ?
module ld*      at twe? unit ?
module ld*      at mlx? unit ?

module icpsp*   at icp? unit ?                  # SCSI pass-through

# 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.
module pciide*  at pci? dev ? function ? flags 0x0000   # GENERIC pciide driver
module acardide*        at pci? dev ? function ?        # Acard IDE controllers
module aceride*         at pci? dev ? function ?        # Acer Lab IDE controllers
module ahcisata*        at pci? dev ? function ?        # AHCI SATA controllers
module artsata*         at pci? dev ? function ?        # Intel i31244 SATA controller
module cmdide*  at pci? dev ? function ?        # CMD tech IDE controllers
module cypide*  at pci? dev ? function ?        # Cypress IDE controllers
module gcscide*         at pci? dev ? function ?        # AMD CS5535 Companion IDE controllers
module geodeide*        at pci? dev ? function ?        # AMD Geode IDE controllers
module hptide*  at pci? dev ? function ?        # Triones/HighPoint IDE controllers
module iteide*  at pci? dev ? function ?        # IT Express IDE controllers
module ixpide*  at pci? dev ? function ?        # ATI IXP IDE controllers
module jmide*           at pci? dev ? function ?        # JMicron PCI-e PATA/SATA controllers
module ahcisata*        at jmide?
module optiide*         at pci? dev ? function ?        # Opti IDE controllers
module piixide*         at pci? dev ? function ?        # Intel IDE controllers
module pdcide*  at pci? dev ? function ?        # Promise IDE controllers
module pdcsata* at pci? dev ? function ?        # Promise SATA150 controllers
module rccide*  at pci? dev ? function ?        # ServerWorks IDE controllers
module satalink*        at pci? dev ? function ?        # SiI SATALink controllers
module siside*  at pci? dev ? function ?        # SiS IDE controllers
module slide*   at pci? dev ? function ?        # Symphony Labs IDE controllers
module svwsata*         at pci? dev ? function ?        # ServerWorks SATA controllers
module stpcide* at pci? dev ? function ?        # STMicro STPC IDE controllers
module viaide*  at pci? dev ? function ?        # VIA/AMD/Nvidia IDE controllers

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

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

# CardBus IDE controllers
module njata*   at cardbus? function ? flags 0x01       # Workbit NinjaATA-32

# 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.
module wdc0     at isa? port 0x1f0 irq 14 flags 0x00
module wdc1     at isa? port 0x170 irq 15 flags 0x00

# ATA (IDE) bus support
module atabus* at ata?
options ATADEBUG

# 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".
module wd*      at atabus? drive ? flags 0x0000

# ATA RAID configuration support, as found on some Promise controllers.
pseudo-device   ataraid
module ld*      at ataraid? vendtype ? unit ?

# ATAPI bus support
module atapibus* at atapi?

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


# Miscellaneous mass storage devices

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

# ISA CD-ROM devices
module 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.
module wt0      at isa? port 0x308 irq 5 drq 1  # Archive and Wangtek QIC tape drives

# MCA ESDI devices
module edc*     at mca? slot ?                  # IBM ESDI Disk Controllers
module ed*      at edc?


# Network Interfaces

# PCI network interfaces
module an*      at pci? dev ? function ?        # Aironet PC4500/PC4800 (802.11)
module ath*     at pci? dev ? function ?        # Atheros 5210/5211/5212 802.11
module atw*     at pci? dev ? function ?        # ADMtek ADM8211 (802.11)
module bce*     at pci? dev ? function ?        # Broadcom 4401 10/100 Ethernet
module bge*     at pci? dev ? function ?        # Broadcom 570x gigabit Ethernet
module bnx*     at pci? dev ? function ?        # Broadcom NetXtremeII gigabit Ethernet
module dge*     at pci? dev ? function ?        # Intel 82597 10GbE LR
module en*      at pci? dev ? function ?        # ENI/Adaptec ATM
module ep*      at pci? dev ? function ?        # 3Com 3c59x
module epic*    at pci? dev ? function ?        # SMC EPIC/100 Ethernet
module esh*     at pci? dev ? function ?        # Essential HIPPI card
module ex*      at pci? dev ? function ?        # 3Com 90x[BC]
module fpa*     at pci? dev ? function ?        # DEC DEFPA FDDI
module fxp*     at pci? dev ? function ?        # Intel EtherExpress PRO 10+/100B
module gsip*    at pci? dev ? function ?        # NS83820 Gigabit Ethernet
module hme*     at pci? dev ? function ?        # Sun Microelectronics STP2002-STQ
module ipw*     at pci? dev ? function ?        # Intel PRO/Wireless 2100
module iwi*     at pci? dev ? function ?        # Intel PRO/Wireless 2200BG
module le*      at pci? dev ? function ?        # PCnet-PCI Ethernet
module lmc*     at pci? dev ? function ?        # Lan Media Corp SSI/HSSI/DS3
module mskc*    at pci? dev ? function ?        # Marvell Yukon 2 Gigabit Ethernet
module msk*     at mskc?                        # Marvell Yukon 2 Gigabit Ethernet
module mtd*     at pci? dev ? function ?        # Myson MTD803 3-in-1 Ethernet
#ndis*          at pci? dev ? function ?        # Experimental - NDIS Network Driver
module ne*      at pci? dev ? function ?        # NE2000-compatible Ethernet
module nfe*     at pci? dev ? function ?        # NVIDIA nForce Ethernet
module ntwoc*   at pci? dev ? function ?        # Riscom/N2 PCI Sync Serial
module pcn*     at pci? dev ? function ?        # AMD PCnet-PCI Ethernet
module ral*     at pci? dev ? function ?        # Ralink Technology RT25x0 802.11a/b/g
module re*      at pci? dev ? function ?        # Realtek 8139C+/8169/8169S/8110S
module rtk*     at pci? dev ? function ?        # Realtek 8129/8139
module rtw*     at pci? dev ? function ?        # Realtek 8180L (802.11)
module sf*      at pci? dev ? function ?        # Adaptec AIC-6915 Ethernet
module sip*     at pci? dev ? function ?        # SiS 900/DP83815 Ethernet
module skc*     at pci? dev ? function ?        # SysKonnect SK9821 Gigabit Ethernet
module sk*      at skc?                         # SysKonnect SK9821 Gigabit Ethernet
module ste*     at pci? dev ? function ?        # Sundance ST-201 Ethernet
module stge*    at pci? dev ? function ?        # Sundance/Tamarack TC9021 Gigabit
module ti*      at pci? dev ? function ?        # Alteon ACEnic gigabit Ethernet
module tl*      at pci? dev ? function ?        # ThunderLAN-based Ethernet
module tlp*     at pci? dev ? function ?        # DECchip 21x4x and clones
module txp*     at pci? dev ? function ?        # 3com 3cr990
module vge*     at pci? dev ? function ?        # VIATech VT612X Gigabit Ethernet
module vr*      at pci? dev ? function ?        # VIA Rhine Fast Ethernet
module wi*      at pci? dev ? function ?        # Intersil Prism Mini-PCI (802.11b)
module wm*      at pci? dev ? function ?        # Intel 8254x gigabit
module wpi*     at pci? dev ? function ?        # Intel PRO/Wireless 3945ABG
module xge*     at pci? dev ? function ?        # Neterion (S2io) Xframe-I 10GbE

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

# ISA Plug-and-Play network interfaces
module an*      at isapnp?                      # Aironet 802.11
module ep*      at isapnp?                      # 3Com 3c509 Ethernet
module fmv*     at isapnp?                      # Fujitsu FMV-183
module le*      at isapnp?                      # AMD PCnet-ISA Ethernet
module ne*      at isapnp?                      # NE2000-compatible Ethernet
module tr*      at isapnp?                      # IBM/3COM TROPIC Token-Ring

# PCMCIA network interfaces
module an*      at pcmcia? function ?           # Aironet PC4500/PC4800 (802.11)
module awi*     at pcmcia? function ?           # BayStack 650/660 (802.11FH/DS)
module cnw*     at pcmcia? function ?           # Xircom/Netwave AirSurfer
module cs*      at pcmcia? function ?           # CS89xx Ethernet
module ep*      at pcmcia? function ?           # 3Com 3c589 and 3c562 Ethernet
module mbe*     at pcmcia? function ?           # MB8696x based Ethernet
module ne*      at pcmcia? function ?           # NE2000-compatible Ethernet
module ray*     at pcmcia? function ?           # Raytheon Raylink (802.11)
module sm*      at pcmcia? function ?           # Megahertz Ethernet
# tr at pcmcia has problems with Cardbus bridges
module tr*      at pcmcia? function ?           # TROPIC based Token-Ring
module wi*      at pcmcia? function ?           # Lucent/Intersil WaveLan IEEE (802.11)
# XXX: Module for xirc is not yet supported.
module xirc*    at pcmcia? function ?           # Xircom CreditCard Ethernet
module com*     at xirc?
module xi*      at xirc?
module mhzc*    at pcmcia? function ?           # Megahertz Ethernet/Modem combo cards
module com*     at mhzc?
module sm*      at mhzc?

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

# CardBus network cards
module ath*     at cardbus? function ?  # Atheros 5210/5211/5212 802.11
module atw*     at cardbus? function ?  # ADMtek ADM8211 (802.11)
module ex*      at cardbus? function ?  # 3Com 3C575TX
module fxp*     at cardbus? function ?  # Intel i8255x
module ral*     at cardbus? function ?  # Ralink Technology RT25x0 802.11a/b/g
module re*      at cardbus? function ?  # Realtek 8139C+/8169/8169S/8110S
module rtk*     at cardbus? function ?  # Realtek 8129/8139
module rtw*     at cardbus? function ?  # Realtek 8180L (802.11)
module tlp*     at cardbus? function ?  # DECchip 21143

# MCA network cards
module elmc*    at mca? slot ?                  # 3Com EtherLink/MC (3c523)
module ep*      at mca? slot ?                  # 3Com EtherLink III (3c529)
module we*      at mca? slot ?                  # WD/SMC Ethernet
module ate*     at mca? slot ?                  # Allied Telesis AT1720
module ne*      at mca? slot ?                  # Novell NE/2 and clones
module tr*      at mca? slot ?                  # IBM Token Ring adapter
module tra*     at mca? slot ?                  # Tiara LANCard/E and clones
module le*      at mca? slot ?                  # SKNET Personal/MC2+

# MII/PHY support
module acphy*   at mii? phy ?                   # Altima AC101 and AMD Am79c874 PHYs
module amhphy* at mii? phy ?                    # AMD 79c901 Ethernet PHYs
module bmtphy* at mii? phy ?                    # Broadcom BCM5201 and BCM5202 PHYs
module brgphy* at mii? phy ?                    # Broadcom BCM5400-family PHYs
module ciphy*   at mii? phy ?                   # Cicada CS8201 Gig-E PHYs
module dmphy*   at mii? phy ?                   # Davicom DM9101 PHYs
module exphy*   at mii? phy ?                   # 3Com internal PHYs
module gentbi* at mii? phy ?                    # Generic Ten-Bit 1000BASE-[CLS]X PHYs
module glxtphy* at mii? phy ?                   # Level One LXT-1000 PHYs
module gphyter* at mii? phy ?                   # NS83861 Gig-E PHY
module icsphy* at mii? phy ?                    # Integrated Circuit Systems ICS189x
module igphy*   at mii? phy ?                   # Intel IGP01E1000
module ikphy*   at mii? phy ?                   # Intel 82563 PHYs
module inphy*   at mii? phy ?                   # Intel 82555 PHYs
module iophy*   at mii? phy ?                   # Intel 82553 PHYs
module lxtphy* at mii? phy ?                    # Level One LXT-970 PHYs
module makphy* at mii? phy ?                    # Marvell Semiconductor 88E1000 PHYs
module nsphy*   at mii? phy ?                   # NS83840 PHYs
module nsphyter* at mii? phy ?          # NS83843 PHYs
module pnaphy* at mii? phy ?                    # generic HomePNA PHYs
module qsphy*   at mii? phy ?                   # Quality Semiconductor QS6612 PHYs
module rgephy* at mii? phy ?                    # Realtek 8169S/8110S internal PHYs
module rlphy*   at mii? phy ?                   # Realtek 8139/8201L PHYs
module sqphy*   at mii? phy ?                   # Seeq 80220/80221/80223 PHYs
module tlphy*   at mii? phy ?                   # ThunderLAN PHYs
module tqphy*   at mii? phy ?                   # TDK Semiconductor PHYs
module ukphy*   at mii? phy ?                   # generic unknown PHYs
module urlphy* at mii? phy ?                    # Realtek RTL8150L internal PHYs


# USB Controller and Devices

# PCI USB controllers
module ehci*    at pci? dev ? function ?        # Enhanced Host Controller
module gcscehci* at pci? dev ? function ?       # Enhanced Host Controller (Geode CSC)
module ohci*    at pci? dev ? function ?        # Open Host Controller
module uhci*    at pci? dev ? function ?        # Universal Host Controller (Intel)

# CardBus USB controllers
module ehci*    at cardbus? function ?          # Enhanced Host Controller
module ohci*    at cardbus? function ?          # Open Host Controller
module uhci*    at cardbus? function ?          # Universal Host Controller (Intel)

# ISA USB controllers
module slhci0   at isa? port 0x300 irq 5        # ScanLogic SL811HS

# PCMCIA USB controllers
module slhci*   at pcmcia? function ?           # ScanLogic SL811HS

# USB bus support
module usb*     at ehci?
module usb*     at gcscehci?
module usb*     at ohci?
module usb*     at slhci?
module usb*     at uhci?

# USB Hubs
module uhub*    at usb?
module uhub*    at uhub? port ?

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

# USB Mice
module ums*     at uhidev? reportid ?
module wsmouse* at ums? mux 0

# USB eGalax touch-panel
module uep*     at uhub? port ?
module wsmouse* at uep? mux 0

# USB Keyboards
module ukbd*    at uhidev? reportid ?
module wskbd*   at ukbd? console ? mux 1

# USB serial adapter
module ucycom*  at uhidev? reportid ?

# USB Generic HID devices
module uhid*    at uhidev? reportid ?

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

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

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

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

# USB MIDI
module umidi* at uhub? port ? configuration ?

# USB IrDA
# USB-IrDA bridge spec
module uirda* at uhub? port ? configuration ? interface ?
module irframe* at uirda?

module stuirda* at uhub? port ? configuration ? interface ?
module irframe* at stuirda?

# SigmaTel STIr4200 USB/IrDA Bridge
module ustir* at uhub? port ?
module irframe* at ustir?

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

# USB 802.11 adapters
module atu*     at uhub? port ?         # Atmel AT76C50XX based adapters
module ral*     at uhub? port ?         # Ralink Technology RT25x0 802.11a/b/g
module rum*     at uhub? port ?         # Ralink Technology RT2501/RT2601 802.11a/b/g
module zyd*     at uhub? port ?         # Zydas ZD1211

# Prolific PL2301/PL2302 host-to-host adapter
module upl*     at uhub? port ?

# Serial adapters
module ubsa*    at uhub? port ?         # Belkin serial adapter
module ucom*    at ubsa? portno ?

module uchcom*  at uhub? port ?         # WinChipHead CH341/CH340 serial adapter
module ucom*    at uchcom? portno ?

module uftdi*   at uhub? port ?         # FTDI FT8U100AX serial adapter
module ucom*    at uftdi? portno ?

module uipaq*   at uhub? port ?         # iPAQ PDAs
module ucom*    at uipaq? portno ?

module umct*    at uhub? port ?         # MCT USB-RS232 serial adapter
module ucom*    at umct? portno ?

module uplcom* at uhub? port ?  # I/O DATA USB-RSAQ2 serial adapter
module ucom*    at uplcom? portno ?

module uslsa*   at uhub? port ?         # Silicon Labs USB-RS232 serial adapter
module ucom*    at uslsa? portno ?

module uvscom* at uhub? port ?  # SUNTAC Slipper U VS-10U serial adapter
module ucom*    at uvscom? portno ?

# Diamond Multimedia Rio 500
module urio*    at uhub? port ?

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

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

# USB scanners
module uscanner* at uhub? port ?

# USB scanners that use SCSI emulation, e.g., HP5300
module usscanner* at uhub? port ?

# Topfield TF5000PVR range of DVB recorders
module utoppy*  at uhub? port ?

# Y@P firmware loader
module uyap* at uhub? port ?

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

# USB Generic driver
module ugen*    at uhub? port ?
# On ugen bulk endpoints, perform read-ahead and write-behind.
options UGEN_BULK_RA_WB

# USB generic serial port (e.g., data over cellular)
module ugensa*  at uhub? port ?
module ucom*    at ugensa?

# IrDA and Consumer Ir devices

# Toshiba Oboe
module oboe*    at pci? dev ? function ?
module irframe* at oboe?


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

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

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


# Audio Devices

# PCI audio devices
module auacer* at pci? dev ? function ? # ALi M5455 integrated AC'97 Audio
module auich*   at pci? dev ? function ?        # Intel ICH integrated AC'97 Audio
module auixp*   at pci? dev ? function ?        # ATI IXP AC'97 Audio
module autri*   at pci? dev ? function ?        # Trident 4DWAVE based AC'97 Audio
module auvia*   at pci? dev ? function ?        # VIA VT82C686A integrated AC'97 Audio
module azalia*  at pci? dev ? function ?        # High Definition Audio
module clcs*    at pci? dev ? function ?        # Cirrus Logic CS4280
module clct*    at pci? dev ? function ?        # Cirrus Logic CS4281
module cmpci*   at pci? dev ? function ?        # C-Media CMI8338/8738
module eap*     at pci? dev ? function ?        # Ensoniq AudioPCI
module emuxki* at pci? dev ? function ? # Creative SBLive! and PCI512
module esa*     at pci? dev ? function ?        # ESS Allegro-1 / Maestro-3 PCI Audio
module esm*     at pci? dev ? function ?        # ESS Maestro-1/2/2e PCI Audio Accelerator
module eso*     at pci? dev ? function ?        # ESS Solo-1 PCI AudioDrive
module fms*     at pci? dev ? function ?        # Forte Media FM801
module neo*     at pci? dev ? function ?        # NeoMagic 256 AC'97 Audio
module sv*      at pci? dev ? function ?        # S3 SonicVibes
module yds*     at pci? dev ? function ?        # Yamaha DS-1 PCI Audio

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

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

# PCMCIA audio devices
module esl*     at pcmcia? function ?                   # ESS 1688 AudioDrive

module cms0     at isa? port 0x220                      # Creative Music System

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

# Audio support
audio*  at audiobus?
device  audummy: audiobus, midibus
attach  audummy at cpubus
file    dev/audummy.c           audummy
audummy0 at mainbus?
# MPU 401 UARTs
module mpu*     at isa? port 0x330 irq 9        # MPU401 or compatible card
module mpu*     at isapnp?
module mpu*     at cmpci?
module mpu*     at eso?
module mpu*     at fms?
#module mpu*    at sb?
module mpu*     at yds?
module mpu*     at ym?

# MIDI support
module midi*    at midibus?
module midi*    at pcppi?               # MIDI interface to the PC speaker

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


# FM-Radio devices
# ISA radio devices
module az0      at isa? port 0x350      # Aztech/PackardBell FM Radio Card
module az1      at isa? port 0x358
module rt0      at isa? port 0x20c      # AIMS Lab Radiotrack & compatible
module rt1      at isa? port 0x284
module rt2      at isa? port 0x30c
module rt3      at isa? port 0x384
module rtii0    at isa? port 0x20c      # AIMS Lab Radiotrack II FM Radio Card
module rtii1    at isa? port 0x30c
module sf2r0    at isa? port 0x384      # SoundForte RadioLink SF16-FMR2 FM Radio Card

# PCI radio devices
module gtp*     at pci? dev ? function ? # Guillemot Maxi Radio FM 2000 Radio Card

# Radio support
module radio*   at az?
module radio*   at gtp?
module radio*   at rt?
module radio*   at rtii?
module radio*   at sf2r?


# TV cards

# Brooktree 848/849/878/879 based TV cards
module bktr* at pci? dev ? function ?
module radio* at bktr?


# Bluetooth Controller and Device support

# Bluetooth PCMCIA Controllers
module bt3c* at pcmcia? function ?      # 3Com 3CRWB6096-A
module btbc* at pcmcia? function ?      # AnyCom BlueCard LSE041/039/139

# Bluetooth USB Controllers
module ubt* at uhub? port ?

# Bluetooth Device Hub
module bthub* at bt3c?
module bthub* at btbc?
module bthub* at btuart?
module bthub* at ubt?

# Bluetooth HID support
module bthidev* at bthub?

# Bluetooth Mouse
module btms* at bthidev? reportid ?
module wsmouse* at btms? mux 0

# Bluetooth Keyboard
module btkbd* at bthidev? reportid ?
module wskbd* at btkbd? console ? mux 1

# Bluetooth Audio support
module btsco* at bthub?


# Mice

# ISA busmice
module lms0     at isa? port 0x23c irq 5        # Logitech bus mouse
module lms1     at isa? port 0x238 irq 5
module mms0     at isa? port 0x23c irq 5        # Microsoft InPort mouse
module mms1     at isa? port 0x238 irq 5
module wsmouse* at lms? mux 0
module wsmouse* at mms? mux 0


# Cryptographic Devices

# PCI cryptographic devices
module glxsb*   at pci? dev ? function ?        # AMD Geode LX Security Block
module hifn*    at pci? dev ? function ?        # Hifn 7755/7811/795x
module ubsec*   at pci? dev ? function ?        # Broadcom 5501/5601/580x/582x


# Joysticks

module joy*     at pnpbios? index ?             # Game port

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

# PCI joysticks
module joy*     at pci?                 # Game ports (usually on audio cards)
module joy*     at eap?                 # See CAVEATS in eap(4) before enabling
module joy*     at eso?                 # ESS Solo-1 on-board joystick

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


# Miscellaneous Devices
module geodegcb*  at pci? dev ? function ?      # Geode GCB area
module geodewdog* at geodegcb?          # AMD Geode SC1100 watchdog timer
module geodecntr* at geodegcb?          # AMD Geode SC1100 high res. counter

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

# Middle Digital, Inc. PCI-Weasel serial console board control
# devices (watchdog timer, etc.)
module weasel* at pci?

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


# Pseudo-Devices

pseudo-device   crypto          # /dev/crypto device
pseudo-device   swcrypto        # software crypto implementation

# disk/mass storage pseudo-devices
pseudo-device   bio                     # RAID control device driver
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 (ramdisk)
pseudo-device   vnd                     # disk-like interface to files
options         VND_COMPRESSION         # compressed vnd(4)

# network pseudo-devices
pseudo-device   bpfilter                # Berkeley packet filter
#pseudo-device  carp                    # Common Address Redundancy Protocol
pseudo-device   ipfilter                # IP filter (firewall) and NAT
pseudo-device   loop                    # network loopback
pseudo-device   ppp                     # Point-to-Point Protocol
pseudo-device   pppoe                   # PPP over Ethernet (RFC 2516)
pseudo-device   sl                      # Serial Line IP
pseudo-device   strip                   # Starmode Radio IP (Metricom)
pseudo-device   irframetty              # IrDA frame line discipline
pseudo-device   tap                     # virtual Ethernet
pseudo-device   tun                     # network tunneling over tty
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   agr                     # IEEE 802.3ad link aggregation
#pseudo-device  pf                      # PF packet filter
#pseudo-device  pflog                   # PF log if
# srt is EXPERIMENTAL
#pseudo-device  srt                     # source-address-based routing

# miscellaneous pseudo-devices
pseudo-device   pty                     # pseudo-terminals
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)
pseudo-device   clockctl                # user control of clock subsystem
pseudo-device   ksyms                   # /dev/ksyms
pseudo-device   lockstat                # lock profiling
pseudo-device   btuart                  # Bluetooth HCI UART (H4)

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

# a pseudo device needed for SMBFS
pseudo-device   nsmb                    # experimental - SMB requester

# wscons pseudo-devices
pseudo-device   wsmux                   # mouse & keyboard multiplexor
pseudo-device   wsfont

options         FILEASSOC               # fileassoc(9) - required for Veriexec

# Veriexec
pseudo-device   veriexec
#
# 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

no xirc*
no mhzc*

no acpi
no ioapic
# disable bio to move sysmon_envsys into LKM.
no pseudo-device bio