10c5b02320
memory used by the kernel at run time, and just like kASan and kCSan, it is an excellent feature. It has already detected 38 uninitialized variables in the kernel during my testing, which I have since discreetly fixed. We use two shadows: - "shad", to track uninitialized memory with a bit granularity (1:1). Each bit set to 1 in the shad corresponds to one uninitialized bit of real kernel memory. - "orig", to track the origin of the memory with a 4-byte granularity (1:1). Each uint32_t cell in the orig indicates the origin of the associated uint32_t of real kernel memory. The memory consumption of these shadows is consequent, so at least 4GB of RAM is recommended to run kMSan. The compiler inserts calls to specific __msan_* functions on each memory access, to manage both the shad and the orig and detect uninitialized memory accesses that change the execution flow (like an "if" on an uninitialized variable). We mark as uninit several types of memory buffers (stack, pools, kmem, malloc, uvm_km), and check each buffer passed to copyout, copyoutstr, bwrite, if_transmit_lock and DMA operations, to detect uninitialized memory that leaves the system. This allows us to detect kernel info leaks in a way that is more efficient and also more user-friendly than KLEAK. Contrary to kASan, kMSan requires comprehensive coverage, ie we cannot tolerate having one non-instrumented function, because this could cause false positives. kMSan cannot instrument ASM functions, so I converted most of them to __asm__ inlines, which kMSan is able to instrument. Those that remain receive special treatment. Contrary to kASan again, kMSan uses a TLS, so we must context-switch this TLS during interrupts. We use different contexts depending on the interrupt level. The orig tracks precisely the origin of a buffer. We use a special encoding for the orig values, and pack together in each uint32_t cell of the orig: - a code designating the type of memory (Stack, Pool, etc), and - a compressed pointer, which points either (1) to a string containing the name of the variable associated with the cell, or (2) to an area in the kernel .text section which we resolve to a symbol name + offset. This encoding allows us not to consume extra memory for associating information with each cell, and produces a precise output, that can tell for example the name of an uninitialized variable on the stack, the function in which it was pushed on the stack, and the function where we accessed this uninitialized variable. kMSan is available with LLVM, but not with GCC. The code is organized in a way that is similar to kASan and kCSan, so it means that other architectures than amd64 can be supported.
1623 lines
36 KiB
Plaintext
1623 lines
36 KiB
Plaintext
# $NetBSD: files,v 1.1244 2019/11/14 16:23:52 maxv Exp $
|
|
# @(#)files.newconf 7.5 (Berkeley) 5/10/93
|
|
|
|
version 20171118
|
|
|
|
#
|
|
# device classes
|
|
#
|
|
devclass disk
|
|
devclass tape
|
|
devclass ifnet
|
|
devclass tty
|
|
devclass audiodev
|
|
devclass displaydev
|
|
devclass bus
|
|
|
|
# options understood by the machine-independent part of the kernel
|
|
# (note, these are case-sensitive)
|
|
#
|
|
defparam opt_param.h MAXUSERS
|
|
defflag INSECURE
|
|
defflag KTRACE
|
|
defflag MBUFTRACE
|
|
defflag opt_ptrace.h PTRACE PTRACE_HOOKS
|
|
defflag COREDUMP
|
|
defflag opt_modular.h MODULAR
|
|
defflag opt_modular.h MODULAR_DEFAULT_AUTOLOAD
|
|
defflag KEYLOCK
|
|
defparam opt_syslimits.h CHILD_MAX OPEN_MAX
|
|
defflag opt_diagnostic.h _DIAGNOSTIC
|
|
defflag GPROF
|
|
defflag KASAN
|
|
defflag opt_kasan.h KASAN_PANIC
|
|
defflag KCSAN
|
|
defflag opt_kcsan.h KCSAN_PANIC
|
|
defflag KMSAN
|
|
defflag opt_kmsan.h KMSAN_PANIC
|
|
defflag KLEAK
|
|
defflag KCOV
|
|
defflag opt_pool.h POOL_QUARANTINE
|
|
|
|
defparam opt_copy_symtab.h makeoptions_COPY_SYMTAB
|
|
|
|
defparam DEFCORENAME
|
|
defparam HZ
|
|
defparam MAXUPRC
|
|
defparam RTC_OFFSET
|
|
defflag opt_pipe.h PIPE_SOCKETPAIR PIPE_NODIRECT
|
|
|
|
defflag AIO
|
|
defflag MQUEUE
|
|
defflag SEMAPHORE
|
|
|
|
defflag BUFQ_DISKSORT
|
|
defflag BUFQ_FCFS
|
|
defflag BUFQ_PRIOCSCAN
|
|
defflag BUFQ_READPRIO
|
|
defflag NEW_BUFQ_STRATEGY # same as BUFQ_READPRIO
|
|
|
|
defflag opt_sched.h SCHED_4BSD
|
|
defflag opt_sched.h SCHED_M2
|
|
|
|
defparam SOMAXKVA
|
|
defflag opt_sock_counters.h SOSEND_COUNTERS
|
|
defflag opt_sosend_loan.h SOSEND_NO_LOAN
|
|
defflag opt_route.h RTCACHE_DEBUG RTFLUSH_DEBUG
|
|
|
|
defflag MULTIPROCESSOR
|
|
defflag NET_MPSAFE
|
|
|
|
defflag opt_config.h INCLUDE_CONFIG_FILE INCLUDE_JUST_CONFIG
|
|
|
|
defparam opt_dump.h DUMP_ON_PANIC
|
|
|
|
defflag opt_callout.h CALLWHEEL_STATS
|
|
|
|
defflag CPU_IN_CKSUM
|
|
|
|
defflag opt_dtrace.h KDTRACE_HOOKS
|
|
|
|
defflag opt_sysv.h SYSVMSG SYSVSEM SYSVSHM
|
|
defparam opt_sysvparam.h MSGMAX MSGMNI MSGMNB MSGTQL MSGSSZ MSGSEG
|
|
defparam opt_sysvparam.h SEMMAP SEMMNI SEMMNS SEMMNU SEMMSL SEMOPM
|
|
defparam opt_sysvparam.h SEMUME SEMUSZ SEMVMX SEMAEM
|
|
defparam opt_sysvparam.h SHMMAX SHMMIN SHMMNI SHMSEG SHMMAXPGS
|
|
|
|
defflag opt_ntp.h PPS_SYNC PPS_DEBUG NTP
|
|
|
|
defflag opt_ptm.h NO_DEV_PTM COMPAT_BSDPTY
|
|
|
|
defparam opt_kmempages.h NKMEMPAGES NKMEMPAGES_MIN NKMEMPAGES_MAX
|
|
|
|
defflag opt_revcache.h NAMECACHE_ENTER_REVERSE
|
|
|
|
defflag opt_exec.h DEBUG_EXEC
|
|
|
|
defflag opt_execfmt.h EXEC_AOUT EXEC_COFF EXEC_ECOFF EXEC_ELF32
|
|
EXEC_ELF64 EXEC_SCRIPT
|
|
EXEC_ELF_NOTELESS
|
|
|
|
defflag opt_dkwedge.h DKWEDGE_AUTODISCOVER
|
|
DKWEDGE_METHOD_BSDLABEL
|
|
DKWEDGE_METHOD_GPT
|
|
DKWEDGE_METHOD_MBR
|
|
DKWEDGE_METHOD_APPLE
|
|
DKWEDGE_METHOD_RDB
|
|
|
|
defflag opt_veriexec.h VERIFIED_EXEC_FP_SHA256
|
|
VERIFIED_EXEC_FP_SHA384
|
|
VERIFIED_EXEC_FP_SHA512
|
|
|
|
# Per system call number counts and times
|
|
defflag opt_syscall_stats.h SYSCALL_STATS
|
|
defflag opt_syscall_stats.h SYSCALL_TIMES: SYSCALL_STATS
|
|
# Assume cpu_hascounter() returns true - to use disabled rdtsc() (for soekris)
|
|
defflag opt_syscall_stats.h SYSCALL_TIMES_HASCOUNTER: SYSCALL_TIMES
|
|
file kern/subr_syscall_stats.c syscall_stats
|
|
|
|
defparam opt_pax.h PAX_MPROTECT
|
|
PAX_MPROTECT_DEBUG
|
|
PAX_SEGVGUARD
|
|
PAX_ASLR
|
|
PAX_ASLR_DELTA_MMAP_LSB
|
|
PAX_ASLR_DELTA_MMAP_LEN
|
|
PAX_ASLR_DELTA_STACK_LSB
|
|
PAX_ASLR_DELTA_STACK_LEN
|
|
PAX_ASLR_DELTA_PROG_LEN
|
|
PAX_ASLR_DEBUG
|
|
|
|
defflag opt_fileassoc.h FILEASSOC
|
|
|
|
defflag opt_gre.h GRE_DEBUG
|
|
|
|
defparam opt_l2tp.h L2TP_ID_HASH_SIZE
|
|
|
|
# Write Ahead Physical Block Logging
|
|
defflag opt_wapbl.h WAPBL WAPBL_DEBUG
|
|
defparam opt_wapbl.h WAPBL_DEBUG_PRINT
|
|
|
|
# printf entropy source
|
|
defflag opt_rnd_printf.h RND_PRINTF
|
|
|
|
defflag opt_todr.h TODR_DEBUG
|
|
|
|
# compatibility options
|
|
#
|
|
defflag opt_compat_netbsd.h COMPAT_NETBSD
|
|
defflag opt_compat_netbsd.h COMPAT_90: COMPAT_NETBSD
|
|
defflag opt_compat_netbsd.h COMPAT_80: COMPAT_90, COMPAT_NETBSD
|
|
defflag opt_compat_netbsd.h COMPAT_70: COMPAT_80, COMPAT_NETBSD
|
|
defflag opt_compat_netbsd.h COMPAT_60: COMPAT_70, COMPAT_NETBSD
|
|
defflag opt_compat_netbsd.h COMPAT_50: COMPAT_60, COMPAT_NETBSD
|
|
defflag opt_compat_netbsd.h COMPAT_40: COMPAT_50, COMPAT_NETBSD
|
|
defflag opt_compat_netbsd.h COMPAT_30: COMPAT_40, COMPAT_NETBSD
|
|
defflag opt_compat_netbsd.h COMPAT_20: COMPAT_30, COMPAT_NETBSD
|
|
defflag opt_compat_netbsd.h COMPAT_16: COMPAT_20, COMPAT_NETBSD
|
|
defflag opt_compat_netbsd.h COMPAT_15: COMPAT_16, COMPAT_NETBSD
|
|
defflag opt_compat_netbsd.h COMPAT_14: COMPAT_15, COMPAT_NETBSD
|
|
defflag opt_compat_netbsd.h COMPAT_13: COMPAT_14, COMPAT_NETBSD
|
|
defflag opt_compat_netbsd.h COMPAT_12: COMPAT_13, COMPAT_NETBSD
|
|
defflag opt_compat_netbsd.h COMPAT_11: COMPAT_12, COMPAT_NETBSD
|
|
defflag opt_compat_netbsd.h COMPAT_10: COMPAT_11, COMPAT_NETBSD
|
|
defflag opt_compat_netbsd.h COMPAT_09: COMPAT_10, COMPAT_NETBSD
|
|
defflag COMPAT_OSSAUDIO
|
|
defflag COMPAT_43
|
|
defflag COMPAT_FREEBSD: COMPAT_09, COMPAT_43
|
|
defflag COMPAT_LINUX: COMPAT_NETBSD, COMPAT_43
|
|
defflag COMPAT_SUNOS: COMPAT_09, COMPAT_43
|
|
defflag COMPAT_ULTRIX: COMPAT_50
|
|
defflag COMPAT_NETBSD32
|
|
defflag COMPAT_SYSV
|
|
defflag SYSV_IPC : SYSVSHM, SYSVSEM, SYSVMSG
|
|
defflag COMPAT_NETBSD32_SYSVIPC : SYSV_IPC,
|
|
COMPAT_SYSV,
|
|
COMPAT_NETBSD32
|
|
defflag COMPAT_LINUX32 : COMPAT_LINUX, COMPAT_NETBSD32,
|
|
COMPAT_50, COMPAT_SYSV,
|
|
COMPAT_NETBSD32_SYSVIPC
|
|
defflag COMPAT_AOUT_M68K: COMPAT_40
|
|
defflag COMPAT_M68K4K
|
|
defflag COMPAT_VAX1K
|
|
defflag opt_compat_netbsd.h COMPAT_NOMID
|
|
|
|
include "compat/common/files.common"
|
|
|
|
define machdep
|
|
defflag opt_machdep.h MACHDEP
|
|
|
|
#
|
|
# Cryptography support. Include this early, since several things
|
|
# use it.
|
|
|
|
# Individual crypto transforms
|
|
include "crypto/arc4/files.arc4"
|
|
include "crypto/des/files.des"
|
|
include "crypto/blowfish/files.blowfish"
|
|
include "crypto/cast128/files.cast128"
|
|
include "crypto/rijndael/files.rijndael"
|
|
include "crypto/skipjack/files.skipjack"
|
|
include "crypto/camellia/files.camellia"
|
|
# General-purpose crypto processing framework.
|
|
include "opencrypto/files.opencrypto"
|
|
|
|
# NIST SP800-90A Hash_DRBG
|
|
include "crypto/nist_hash_drbg/files.nist_hash_drbg"
|
|
|
|
# ChaCha-based fast PRNG
|
|
include "crypto/cprng_fast/files.cprng_fast"
|
|
|
|
#
|
|
# Kernel history/tracing. Old UVMHIST depends upon this.
|
|
#
|
|
defflag opt_kernhist.h KERNHIST KERNHIST_PRINT
|
|
defparam opt_kernhist.h KERNHIST_DELAY
|
|
file kern/kern_history.c kernhist
|
|
|
|
#
|
|
# These are here for the benefit of kern_history.c so that
|
|
# UVMHIST can be built in kernels without usb.
|
|
#
|
|
# top level usb debug defines
|
|
defflag opt_usb.h USB_DEBUG: KERNHIST
|
|
defparam opt_usb.h USBHIST_SIZE
|
|
|
|
#
|
|
# Options for BIOHIST
|
|
#
|
|
defflag opt_biohist.h BIOHIST: KERNHIST
|
|
defflag opt_biohist.h BIOHIST_PRINT: KERNHIST_PRINT
|
|
defparam opt_biohist.h BIOHIST_SIZE
|
|
|
|
#
|
|
# System monitoring framework
|
|
#
|
|
include "dev/sysmon/files.sysmon"
|
|
|
|
#
|
|
# Networking protocols
|
|
#
|
|
|
|
# Attribute used by various things that need BPF's virtual machine
|
|
#
|
|
define bpf_filter
|
|
defparam opt_bpf.h BPF_BUFSIZE
|
|
|
|
defflag opt_bpf.h BPFJIT
|
|
|
|
file net/bpfjit.c sljit & bpfjit
|
|
|
|
include "net80211/files.net80211"
|
|
include "netatalk/files.netatalk"
|
|
include "netbt/files.netbt"
|
|
include "netcan/files.netcan"
|
|
include "netinet/files.netinet"
|
|
include "netinet6/files.netinet6"
|
|
include "netipsec/files.netipsec"
|
|
include "netmpls/files.netmpls"
|
|
include "netsmb/files.netsmb"
|
|
|
|
include "net/npf/files.npf"
|
|
include "netinet/files.ipfilter"
|
|
include "net/files.pf"
|
|
|
|
obsolete defflag CCITT # obsolete
|
|
obsolete defflag HDLC # obsolete
|
|
obsolete defflag LLC # obsolete
|
|
obsolete defflag opt_ns.h NS NSIP # obsolete
|
|
obsolete defflag IPX # obsolete
|
|
obsolete defparam opt_md.h MEMORY_RBFLAGS # superseded by
|
|
# MEMORY_DISK_RBFLAGS
|
|
|
|
defflag opt_bridge_ipf.h BRIDGE_IPF # bridge(4) use inet_pfil_hooks
|
|
defflag opt_ppp.h PPP_DEFLATE PPP_BSDCOMP PPP_FILTER
|
|
# Include deflate or bsd
|
|
# compression, enable pppd
|
|
# packet filtering support
|
|
defflag opt_pppoe.h PPPOE_SERVER PPPOE_DEBUG
|
|
|
|
# networking options
|
|
#
|
|
defflag GATEWAY
|
|
defparam opt_nmbclusters.h NMBCLUSTERS
|
|
defparam SB_MAX
|
|
|
|
# file system options
|
|
#
|
|
defflag opt_quota.h QUOTA QUOTA2 # XXX files.ufs?
|
|
defflag VNODE_LOCKDEBUG
|
|
defflag MAGICLINKS
|
|
|
|
# buffer cache size options
|
|
#
|
|
defparam opt_bufcache.h BUFCACHE BUFPAGES
|
|
|
|
# userconf
|
|
#
|
|
defflag USERCONF
|
|
|
|
# sysctl related
|
|
#
|
|
defflag opt_sysctl.h SYSCTL_DISALLOW_CREATE SYSCTL_DISALLOW_KWRITE
|
|
SYSCTL_DEBUG_SETUP SYSCTL_DEBUG_CREATE
|
|
SYSCTL_INCLUDE_DESCR
|
|
|
|
#
|
|
# Not entirely MI, but present on multiple arch's
|
|
#
|
|
|
|
# PC-style MBR handling
|
|
#
|
|
defflag opt_mbr.h COMPAT_386BSD_MBRPART
|
|
|
|
#
|
|
# debugging options
|
|
#
|
|
include "ddb/files.ddb" # in-kernel dynamic debugger
|
|
|
|
defflag opt_kgdb.h KGDB
|
|
defparam opt_kgdb.h KGDB_DEV KGDB_DEVNAME KGDB_DEVPORT
|
|
KGDB_DEVADDR KGDB_DEVRATE KGDB_DEVMODE
|
|
defflag LOCKDEBUG
|
|
defflag SYSCALL_DEBUG
|
|
defflag opt_kstack.h KSTACK_CHECK_MAGIC
|
|
defflag PSREF_DEBUG
|
|
|
|
# memory (ram) disk options
|
|
#
|
|
defflag opt_md.h MEMORY_DISK_HOOKS MEMORY_DISK_IS_ROOT
|
|
MEMORY_DISK_DYNAMIC
|
|
defparam opt_md.h MEMORY_DISK_SERVER=1 MEMORY_DISK_ROOT_SIZE
|
|
MEMORY_DISK_RBFLAGS
|
|
defparam opt_memory_disk_image.h makeoptions_MEMORY_DISK_IMAGE
|
|
|
|
defflag opt_tftproot.h TFTPROOT TFTPROOT_DEBUG
|
|
|
|
defflag opt_wlan.h WLAN
|
|
|
|
# Machine-independent device majors assignements
|
|
include "conf/majors"
|
|
|
|
# generic attributes
|
|
#
|
|
define videobus { }
|
|
define ata {[channel = -1]}
|
|
define sata
|
|
define sata_fis
|
|
define sata_pmp
|
|
define scsi_core
|
|
define scsi {[channel = -1]}: scsi_core
|
|
define ata_hl {[drive = -1]}
|
|
define atapi { }
|
|
define radiodev { }
|
|
define gpibdev {[address = -1]}
|
|
define gpiobus { }
|
|
define onewirebus { }
|
|
define pckbport {[slot = -1]}
|
|
define pckbport_machdep_cnattach
|
|
define firmload
|
|
define ipmibus { }
|
|
|
|
# speaker devices, attaches to audio or pcppi drivers
|
|
device spkr: wsbelldev
|
|
file dev/spkr.c spkr
|
|
|
|
include "dev/files.audio"
|
|
|
|
# High definition audio
|
|
include "dev/hdaudio/files.hdaudio"
|
|
|
|
# Base verbose vendor/product printing support
|
|
file dev/dev_verbose.c
|
|
|
|
# video devices, attaches to video hardware driver
|
|
#
|
|
device video
|
|
attach video at videobus
|
|
|
|
# DTV subsystem
|
|
#
|
|
include "dev/dtv/files.dtv"
|
|
|
|
# HDMI CEC
|
|
#
|
|
include "dev/hdmicec/files.hdmicec"
|
|
|
|
# National Semiconductor LM7[89]
|
|
#
|
|
# (included here so files.i2c can define an attachment)
|
|
|
|
device lm: sysmon_envsys
|
|
file dev/ic/nslm7x.c lm needs-flag
|
|
|
|
# JEDEC standard SPD EPROM
|
|
#
|
|
# (included here so files.i2c can define an attachment)
|
|
|
|
device spdmem
|
|
file dev/ic/spdmem.c spdmem
|
|
|
|
# SSD1306 or SH1106 OLED/PLED display (attaches via I2C or SPI)
|
|
device ssdfb: wsemuldisplaydev
|
|
file dev/ic/ssdfb.c ssdfb
|
|
|
|
# Generic HID support (used by USB, bluetooth and i2c)
|
|
include "dev/hid/files.hid"
|
|
|
|
# I2C device support
|
|
include "dev/i2c/files.i2c"
|
|
|
|
# PWM device support
|
|
include "dev/pwm/files.pwm"
|
|
|
|
# SPI device support
|
|
include "dev/spi/files.spi"
|
|
|
|
# IR device support
|
|
include "dev/ir/files.ir"
|
|
|
|
# Parallel Port Bus support
|
|
include "dev/ppbus/files.ppbus"
|
|
|
|
# raster operations attributes
|
|
#
|
|
define rasops1
|
|
define rasops2
|
|
define rasops4
|
|
define rasops8
|
|
define rasops15
|
|
define rasops16
|
|
define rasops24
|
|
define rasops32
|
|
define rasops_rotation
|
|
|
|
# image decoding support
|
|
include "dev/stbi/files.stbi"
|
|
|
|
# splash screen support
|
|
include "dev/splash/files.splash"
|
|
|
|
# videomode support
|
|
include "dev/videomode/files.videomode"
|
|
|
|
# net device attributes - we have generic code for arc(net), ether(net),
|
|
# fddi, and token ring.
|
|
#
|
|
define arcnet
|
|
define ether
|
|
define fddi
|
|
define hippi
|
|
define ieee1394
|
|
define token
|
|
define sppp
|
|
define wlan
|
|
define crypto
|
|
|
|
# TPM
|
|
device tpm
|
|
file dev/ic/tpm.c tpm needs-flag
|
|
|
|
# devices ARPing IPv4 pull this in:
|
|
#
|
|
define arp
|
|
|
|
#
|
|
# ALTQ network traffic shaping subsystem
|
|
#
|
|
include "altq/files.altq"
|
|
|
|
# Logical disk
|
|
#
|
|
device ld: disk
|
|
file dev/ld.c ld needs-flag
|
|
|
|
#
|
|
# MII/PHY support for network devices
|
|
#
|
|
include "dev/mii/files.mii"
|
|
|
|
#
|
|
# RAIDframe
|
|
#
|
|
include "dev/raidframe/files.raidframe"
|
|
|
|
#
|
|
# Hardware-assisted data mover API
|
|
#
|
|
include "dev/dmover/files.dmover"
|
|
|
|
#
|
|
# "Chipset" drivers. These are the bus-independent routines which
|
|
# contain the cfdrivers. Attachments are provided by files.<bus>
|
|
#
|
|
|
|
# Adaptec AIC-6[32]60 ICs
|
|
#
|
|
device aic: scsi
|
|
file dev/ic/aic6360.c aic
|
|
|
|
# SMC 93Cx6 Serial EEPROM devices
|
|
#
|
|
define smc93cx6
|
|
file dev/ic/smc93cx6.c smc93cx6
|
|
|
|
# Adaptec 2[789]4X, 394X, aic7770 and aic78[5678]0 SCSI controllers
|
|
#
|
|
defparam opt_ahc.h AHC_DEBUG
|
|
defflag opt_ahc.h AHC_NO_TAGS
|
|
device ahc: scsi
|
|
define ahc_seeprom
|
|
define ahc_aic77xx
|
|
file dev/ic/aic7xxx.c ahc
|
|
file dev/ic/aic7xxx_osm.c ahc
|
|
file dev/ic/aic7xxx_seeprom.c ahc_seeprom
|
|
file dev/ic/aic77xx.c ahc_aic77xx
|
|
|
|
# Adaptec aic79xx SCSI controllers
|
|
defflag opt_ahd.h AHD_DEBUG
|
|
device ahd: scsi
|
|
file dev/ic/aic79xx.c ahd
|
|
file dev/ic/aic79xx_osm.c ahd
|
|
|
|
# DPT EATA SCSI controllers
|
|
#
|
|
device dpt: scsi
|
|
file dev/ic/dpt.c dpt
|
|
|
|
# Compaq Smart ARRAY controllers
|
|
#
|
|
device cac {unit = -1}
|
|
file dev/ic/cac.c cac
|
|
|
|
attach ld at cac with ld_cac
|
|
file dev/ic/ld_cac.c ld_cac
|
|
|
|
# HP/Compaq Command Interface for SCSI-3 Support
|
|
#
|
|
defflag opt_ciss.h CISS_NO_INTERRUPT_HACK
|
|
device ciss: scsi
|
|
file dev/ic/ciss.c ciss
|
|
|
|
# Mylex DAC960 RAID controllers
|
|
#
|
|
device mlx {unit = -1}
|
|
file dev/ic/mlx.c mlx needs-flag
|
|
|
|
attach ld at mlx with ld_mlx
|
|
file dev/ic/ld_mlx.c ld_mlx
|
|
|
|
# ICP-Vortex/Intel RAID controllers
|
|
#
|
|
device icp {unit = -1}
|
|
file dev/ic/icp.c icp needs-flag
|
|
file dev/ic/icp_ioctl.c icp
|
|
|
|
attach ld at icp with ld_icp
|
|
file dev/ic/ld_icp.c ld_icp
|
|
|
|
device icpsp: scsi
|
|
file dev/ic/icpsp.c icpsp
|
|
attach icpsp at icp
|
|
|
|
# Adaptec FSA RAID controllers
|
|
#
|
|
device aac {unit = -1}
|
|
file dev/ic/aac.c aac
|
|
|
|
attach ld at aac with ld_aac
|
|
file dev/ic/ld_aac.c ld_aac
|
|
|
|
# AdvanSys 1200A, 1200B and ULTRA SCSI controllers
|
|
#
|
|
device adv: scsi
|
|
file dev/ic/adv.c adv
|
|
file dev/ic/advlib.c adv
|
|
file dev/ic/advmcode.c adv
|
|
|
|
# AdvanSys ULTRA WIDE SCSI controllers
|
|
#
|
|
device adw: scsi
|
|
file dev/ic/adw.c adw
|
|
|
|
# BusLogic MultiMaster and MultiMaster Ultra SCSI controllers
|
|
# (Must be declared before AHA to ensure bha probes before aha.
|
|
# Probing AHA first configures bhas as aha, via their AHA
|
|
# hardware-compatibility mode.)
|
|
#
|
|
device bha: scsi
|
|
file dev/ic/bha.c bha
|
|
|
|
# Adaptec AHA-154x and AHA-164x controllers
|
|
# (must be after bha, see above)
|
|
#
|
|
device aha: scsi
|
|
file dev/ic/aha.c aha
|
|
|
|
# Initio INIC-940/950 SCSI controllers
|
|
#
|
|
device iha: scsi
|
|
file dev/ic/iha.c iha
|
|
|
|
# Qlogic ISP 10x0 SCSI Controllers
|
|
#
|
|
defflag opt_isp.h ISP_DISABLE_1020_SUPPORT
|
|
ISP_DISABLE_1080_SUPPORT
|
|
ISP_DISABLE_2100_SUPPORT
|
|
ISP_DISABLE_2200_SUPPORT
|
|
ISP_DISABLE_2300_SUPPORT
|
|
ISP_DISABLE_2322_SUPPORT
|
|
ISP_DISABLE_2400_SUPPORT
|
|
ISP_DISABLE_FW
|
|
ISP_TARGET_MODE
|
|
defparam opt_isp.h ISP_LOGDEFAULT
|
|
ISP_VPORTS
|
|
device isp: scsi
|
|
file dev/ic/isp.c isp
|
|
file dev/ic/isp_library.c isp
|
|
file dev/ic/isp_netbsd.c isp
|
|
file dev/ic/isp_target.c isp & isp_target_mode
|
|
# LSILogic MegaRAID SAS
|
|
#
|
|
device mfi: scsi
|
|
file dev/ic/mfi.c mfi
|
|
|
|
# LSILogic Fusion-MPT I/O Processor SCSI/FC Controllers
|
|
#
|
|
device mpt: scsi
|
|
file dev/ic/mpt.c mpt
|
|
file dev/ic/mpt_debug.c mpt
|
|
file dev/ic/mpt_netbsd.c mpt
|
|
|
|
# Workbit NinjaSCSI-32 controllers
|
|
device njs: scsi
|
|
file dev/ic/ninjascsi32.c njs
|
|
|
|
# Symbios/NCR 53c700 SCSI controllers
|
|
device oosiop: scsi
|
|
file dev/ic/oosiop.c oosiop
|
|
|
|
# Symbios/NCR 53c710 SCSI controllers
|
|
#
|
|
device osiop: scsi
|
|
file dev/ic/osiop.c osiop
|
|
|
|
# common stuff for siop and esiop
|
|
#
|
|
define siop_common
|
|
file dev/ic/siop_common.c siop_common
|
|
|
|
# Symbios/NCR 53c720/53c8xx SCSI controllers
|
|
#
|
|
device siop: scsi,siop_common
|
|
file dev/ic/siop.c siop & (siop_pci | siop_gedoens)
|
|
defflag opt_siop.h SIOP_SYMLED
|
|
|
|
device esiop: scsi,siop_common
|
|
file dev/ic/esiop.c esiop
|
|
|
|
# UltraStor SCSI controllers
|
|
#
|
|
device uha: scsi
|
|
file dev/ic/uha.c uha
|
|
|
|
# 3Com common probe code
|
|
define elink
|
|
file dev/isa/elink.c elink
|
|
|
|
# Aironet PC4500/PC4800
|
|
#
|
|
device an: arp, wlan, ifnet
|
|
file dev/ic/an.c an
|
|
|
|
# AMD 79c930-based 802.11 cards
|
|
#
|
|
device awi: arp, wlan, ifnet
|
|
file dev/ic/awi.c awi
|
|
file dev/ic/am79c930.c awi
|
|
|
|
# Lucent & Intersil WaveLan IEEE (802.11)
|
|
#
|
|
device wi: arp, wlan, ifnet
|
|
file dev/ic/wi.c wi
|
|
|
|
# Atheros HAL
|
|
#
|
|
include "external/isc/atheros_hal/conf/files.ath_hal"
|
|
|
|
# Atheros 5210/5211/5212 multi-mode 802.11
|
|
#
|
|
device ath: arp, wlan, ifnet
|
|
file dev/ic/ath.c ath
|
|
file dev/ic/ath_netbsd.c ath
|
|
file dev/ic/athrate-sample.c ath
|
|
|
|
# ADMtek ADM8211 802.11
|
|
#
|
|
device atw: arp, wlan, ifnet, smc93cx6
|
|
file dev/ic/atw.c atw
|
|
|
|
# Realtek RTL8180 802.11
|
|
#
|
|
device rtw: arp, wlan, ifnet, smc93cx6
|
|
file dev/ic/rtw.c rtw
|
|
file dev/ic/rtwphy.c rtw
|
|
file dev/ic/rtwphyio.c rtw
|
|
|
|
# Ralink RT2500/RT2600/RT2860 802.11
|
|
device ral: arp, ether, ifnet, wlan, firmload
|
|
file dev/ic/rt2560.c ral
|
|
file dev/ic/rt2661.c ral
|
|
file dev/ic/rt2860.c ral
|
|
|
|
# Marvell Libertas Open
|
|
device malo: arp, ether, ifnet, wlan, firmload
|
|
file dev/ic/malo.c malo
|
|
|
|
# 3Com Etherlink-III Ethernet controller
|
|
#
|
|
device ep: arp, ether, ifnet, mii, mii_bitbang
|
|
file dev/ic/elink3.c ep
|
|
|
|
# 3Com EtherLink XL Controller
|
|
#
|
|
device ex: arp, ether, ifnet, mii, mii_bitbang
|
|
file dev/ic/elinkxl.c ex
|
|
|
|
# DEC EtherWORKS III (LEMAC) Ethernet controllers
|
|
#
|
|
device lc: arp, ether, ifnet
|
|
file dev/ic/lemac.c lc
|
|
|
|
# LANCE and PCnet Ethernet controllers
|
|
#
|
|
device le: arp, ether, ifnet
|
|
define le24
|
|
define le32
|
|
file dev/ic/am7990.c le24
|
|
file dev/ic/am79900.c le32
|
|
file dev/ic/lance.c le24 | le32
|
|
|
|
# DEC DEPCA-family of LANCE Ethernet controllers
|
|
#
|
|
device depca { }: le24
|
|
file dev/ic/depca.c depca
|
|
attach le at depca with le_depca
|
|
|
|
# Sun HME Ethernet controllers
|
|
#
|
|
device hme: arp, ether, ifnet, mii
|
|
file dev/ic/hme.c hme
|
|
|
|
# Sun GEM Ethernet controllers
|
|
#
|
|
device gem: arp, ether, ifnet, mii
|
|
file dev/ic/gem.c gem
|
|
|
|
# Synopsis Designware GMAC core, as found on allwinner a20
|
|
# and other SoCs
|
|
device awge: arp, ether, ifnet, mii
|
|
file dev/ic/dwc_gmac.c awge
|
|
|
|
# 8390-family Ethernet controllers
|
|
#
|
|
define dp8390nic
|
|
file dev/ic/dp8390.c dp8390nic
|
|
|
|
# National Semiconductor DP83905 AT/LANTIC Ethernet media support
|
|
#
|
|
define dp83905
|
|
file dev/ic/dp83905.c dp83905
|
|
|
|
# Macronix MX98905 Ethernet controller
|
|
# (use as an attribute for an "ne" bus attachment)
|
|
#
|
|
define mx98905
|
|
file dev/ic/mx98905.c mx98905
|
|
|
|
# TROPIC Token-Ring controller
|
|
#
|
|
device tr: arp, token, ifnet
|
|
file dev/ic/tropic.c tr
|
|
|
|
# NCR 5380 SCSI Bus Controller
|
|
#
|
|
define ncr5380sbc
|
|
file dev/ic/ncr5380sbc.c ncr5380sbc
|
|
device nca: scsi, ncr5380sbc
|
|
|
|
# Sun sc PAL SCSI Bus Controller
|
|
#
|
|
define sunscpal
|
|
file dev/ic/sunscpal.c sunscpal
|
|
device ssc: scsi, sunscpal
|
|
|
|
# DEC FDDI Chipset
|
|
#
|
|
define pdq
|
|
file dev/ic/pdq.c pdq
|
|
file dev/ic/pdq_ifsubr.c pdq
|
|
|
|
# Cyclades Cyclom-8/16/32
|
|
#
|
|
device cy: tty
|
|
file dev/ic/cy.c cy needs-flag
|
|
|
|
# NCR 53x9x or Emulex ESP SCSI Controller
|
|
#
|
|
define ncr53c9x
|
|
device esp: scsi, ncr53c9x
|
|
file dev/ic/ncr53c9x.c ncr53c9x
|
|
|
|
# Fujitsu MB87030/MB89352 SCSI Protocol Controller
|
|
device spc: scsi
|
|
file dev/ic/mb89352.c spc
|
|
|
|
# Western Digital WD33C93/WD33C93A SCSI Bus Interface Controller
|
|
define wd33c93
|
|
file dev/ic/wd33c93.c wd33c93
|
|
|
|
# Hitachi HD44780 LCD panel controller
|
|
define hd44780
|
|
file dev/ic/hd44780_subr.c hd44780
|
|
file dev/ic/lcdkp_subr.c hd44780
|
|
|
|
# Matrix keypad
|
|
define matrixkp
|
|
file dev/ic/matrixkp_subr.c matrixkp
|
|
|
|
# Hitachi HD64570 serial controller
|
|
#
|
|
define hd64570
|
|
file dev/ic/hd64570.c hd64570
|
|
|
|
# Riscom/N2 ISA/PCI Sync Serial Controller
|
|
#
|
|
device ntwoc: ifnet, hd64570
|
|
|
|
# Intel 82586 Ethernet Controller
|
|
#
|
|
define i82586
|
|
file dev/ic/i82586.c i82586
|
|
|
|
# Intel 82596 Ethernet Controller
|
|
#
|
|
define i82596
|
|
file dev/ic/i82596.c i82596
|
|
|
|
# Intel 82557/82558/82559 Ethernet Controller
|
|
#
|
|
device fxp: ether, ifnet, arp, mii
|
|
file dev/ic/i82557.c fxp
|
|
|
|
# SEEQ 8005 Advanced Ethernet Data Link Controller
|
|
#
|
|
define seeq8005
|
|
file dev/ic/seeq8005.c seeq8005
|
|
|
|
# SMC 91Cxx Ethernet Controller
|
|
#
|
|
device sm: arp, ether, ifnet, mii, mii_bitbang
|
|
file dev/ic/smc91cxx.c sm
|
|
|
|
# SMC 83C170 EPIC/100 Fast Ethernet Controller
|
|
#
|
|
device epic: arp, ether, ifnet, mii
|
|
file dev/ic/smc83c170.c epic
|
|
|
|
# DEC SGEC Second Generation Ethernet Controller
|
|
#
|
|
define sgec
|
|
file dev/ic/sgec.c sgec
|
|
|
|
# MB86950 Ethernet Controller
|
|
#
|
|
define mb86950
|
|
file dev/ic/mb86950.c mb86950
|
|
|
|
# MB8696x Ethernet Controller
|
|
#
|
|
define mb86960
|
|
file dev/ic/mb86960.c mb86960
|
|
|
|
# Generic MB8696x Ethernet Controller driver
|
|
#
|
|
device mbe: arp, ether, ifnet, mb86960
|
|
|
|
# Interwave Am78C201 audio driver
|
|
#
|
|
define interwave
|
|
file dev/ic/interwave.c interwave
|
|
|
|
# TMS 320av110 MPEG2/audio driver
|
|
#
|
|
define tms320av110
|
|
file dev/ic/tms320av110.c tms320av110
|
|
|
|
# Novell NE2000-compatible Ethernet cards, based on the
|
|
# National Semiconductor DS8390.
|
|
#
|
|
device ne: ether, ifnet, arp, dp8390nic, mii
|
|
file dev/ic/ne2000.c ne
|
|
|
|
# 8250/16[45]50-based "com" ports
|
|
#
|
|
defflag opt_com.h COM_DEBUG
|
|
# XXX In a perfect world, this would be done with attributes
|
|
defflag opt_com.h COM_16650 COM_16750
|
|
COM_HAYESP COM_PXA2X0
|
|
defparam opt_com.h COM_TOLERANCE
|
|
device com { } : tty
|
|
file dev/ic/com.c com needs-flag
|
|
|
|
# PC-like keyboard controller
|
|
#
|
|
device pckbc: pckbport
|
|
file dev/ic/pckbc.c pckbc needs-flag
|
|
|
|
device attimer
|
|
file dev/ic/attimer.c attimer needs-flag
|
|
|
|
# Cirrus Logic CD240[01] 4-port Multi-Protocol Communications Controller
|
|
#
|
|
device clmpcc: tty
|
|
file dev/ic/clmpcc.c clmpcc needs-flag
|
|
|
|
# Abit uGuru
|
|
#
|
|
device ug: sysmon_envsys
|
|
file dev/ic/ug.c ug needs-flag
|
|
|
|
# Essential Communications Corp. HIPPI Interface
|
|
#
|
|
device esh: hippi, ifnet
|
|
file dev/ic/rrunner.c esh needs-flag
|
|
|
|
# SMC 90c26, SMC 90C56 (and 90C66 if in compat mode) chip driver
|
|
#
|
|
device bah: ifnet, arcnet, arp
|
|
file dev/ic/smc90cx6.c bah
|
|
|
|
# OPL2/OPL3 FM synth driver
|
|
#
|
|
device opl: midibus, midisyn
|
|
file dev/ic/opl.c opl
|
|
file dev/ic/oplinstrs.c opl
|
|
|
|
# MPU401 MIDI UART compatibles
|
|
#
|
|
device mpu: midibus
|
|
file dev/ic/mpu.c mpu needs-flag
|
|
|
|
# AD1848 (CS4248, CS4231, AD1845) audio codec support; used by other drivers
|
|
#
|
|
define ad1848
|
|
file dev/ic/ad1848.c ad1848
|
|
|
|
# AMD 7930 audio/ISDN codec
|
|
#
|
|
define am7930
|
|
file dev/ic/am7930.c am7930
|
|
|
|
# Siemens PSB2160 audio codec, as found in HP systems
|
|
device arcofi: audiobus, auconv, mulaw
|
|
file dev/ic/arcofi.c arcofi
|
|
|
|
# SPARC `SUNW,audiocs'
|
|
#
|
|
device audiocs: audiobus, auconv, ad1848
|
|
file dev/ic/cs4231.c audiocs
|
|
|
|
# AC-97 CODECs
|
|
#
|
|
define ac97
|
|
file dev/ic/ac97.c ac97
|
|
|
|
# UDA1341 CODEC support
|
|
define uda1341
|
|
file dev/ic/uda1341.c uda1341
|
|
|
|
# Oki MSM6258 support code
|
|
#
|
|
define msm6258
|
|
file dev/ic/msm6258.c msm6258
|
|
|
|
# LSI64854 DMA controller back-end
|
|
#
|
|
define lsi64854
|
|
file dev/ic/lsi64854.c lsi64854
|
|
|
|
# Cirrus Logic CL-CD180/1864/1865 multi port serial controller back-end
|
|
#
|
|
define cd18xx
|
|
file dev/ic/cd18xx.c cd18xx
|
|
|
|
# Realtek 8019/8029 NE2000-compatible network interface subroutines
|
|
#
|
|
define rtl80x9
|
|
file dev/ic/rtl80x9.c rtl80x9 needs-flag
|
|
|
|
# Realtek 8129/8139 Ethernet controllers
|
|
#
|
|
device rtk: ether, ifnet, arp, mii
|
|
file dev/ic/rtl81x9.c rtk | re
|
|
|
|
# Realtek 8169 Ethernet controllers
|
|
#
|
|
device re: ether, ifnet, arp, mii
|
|
file dev/ic/rtl8169.c re
|
|
|
|
# Virtual I/O Device (VIRTIO) bus controller and devices
|
|
#
|
|
include "dev/virtio/files.virtio"
|
|
|
|
# Common code for ESDI/IDE/etc. controllers
|
|
#
|
|
define wdc_common
|
|
define ata_dma
|
|
define ata_udma
|
|
define ata_piobm
|
|
device wdc: ata, wdc_common
|
|
|
|
defflag opt_ata.h ATADEBUG
|
|
defparam opt_ata.h ATADEBUG_MASK
|
|
defflag opt_wdc.h WDC_NO_IDS
|
|
|
|
device atabus: atapi,ata_hl
|
|
attach atabus at ata
|
|
# The strange expression is to dump ata_* definitions to ata_dma.h.
|
|
file dev/ic/wdc.c (ata_dma | ata_udma | ata_piobm | atabus) & atabus & wdc_common needs-flag
|
|
|
|
# Workbit NinjaATA-32 IDE controllers
|
|
device njata: ata, ata_piobm, wdc_common
|
|
file dev/ic/ninjaata32.c njata
|
|
|
|
# AHCI-compatible SATA controllers
|
|
define ahcisata_core
|
|
file dev/ic/ahcisata_core.c ahcisata_core
|
|
device ahcisata: ata, ata_dma, ata_udma, sata, sata_fis, sata_pmp, ahcisata_core
|
|
|
|
# Silicon Image SteelVine SATA-II controllers
|
|
define siisata
|
|
file dev/ic/siisata.c siisata
|
|
device siisata: ata, ata_dma, ata_udma, sata, sata_fis, sata_pmp, siisata
|
|
|
|
# Marvell Serial-ATA Host Controller
|
|
define mvsata
|
|
file dev/ic/mvsata.c mvsata
|
|
device mvsata: ata, ata_dma, ata_udma, wdc_common, sata, sata_fis, sata_pmp, mvsata
|
|
defflag opt_mvsata.h MVSATA_WITHOUTDMA
|
|
|
|
# DECchip 21x4x Ethernet controller family, and assorted clones.
|
|
#
|
|
device tlp: arp, ether, ifnet, mii, mii_bitbang
|
|
file dev/ic/tulip.c tlp
|
|
|
|
# Adaptec AIC-6915 Ethernet interface
|
|
#
|
|
device sf: arp, ether, ifnet, mii
|
|
file dev/ic/aic6915.c sf
|
|
|
|
# Mostek time-of-day clock and NVRAM
|
|
#
|
|
define mk48txx
|
|
file dev/ic/mk48txx.c mk48txx
|
|
|
|
# OKI MSM6242B
|
|
#
|
|
define msm6242b
|
|
file dev/ic/msm6242b.c msm6242b
|
|
|
|
# Intersil 7170 time-of-day clock
|
|
#
|
|
define intersil7170
|
|
file dev/ic/intersil7170.c intersil7170
|
|
|
|
# National Semiconductor MM58167 time-of-day clock
|
|
#
|
|
define mm58167
|
|
file dev/ic/mm58167.c mm58167
|
|
|
|
# Motorola mc146818 (and compatible) time-of-day clock
|
|
#
|
|
define mc146818
|
|
file dev/ic/mc146818.c mc146818
|
|
|
|
# Ricoh RS5C313 time of-day-clock
|
|
#
|
|
define rs5c313
|
|
file dev/ic/rs5c313.c rs5c313
|
|
|
|
# D-Link DL10019/10022 NE2000-compatible network interface subroutines
|
|
#
|
|
define dl10019
|
|
file dev/ic/dl10019.c dl10019
|
|
|
|
# ASIX AX88190 NE2000-compatible network interface subroutines
|
|
#
|
|
define ax88190
|
|
file dev/ic/ax88190.c ax88190
|
|
|
|
# WD/SMC 80x3 family, SMC Elite Ultra [8216], SMC EtherEZ
|
|
#
|
|
device we: ether, ifnet, arp, dp8390nic
|
|
file dev/ic/we.c we
|
|
|
|
# Allied-Telesis Ethernet driver based on Fujitsu MB8696xA controllers
|
|
#
|
|
device ate: arp, ether, ifnet, mb86960
|
|
|
|
# Fujitsu FMV-18x Ethernet driver based on Fujitsu MB8696xA controllers
|
|
#
|
|
device fmv: arp, ether, ifnet, mb86960
|
|
file dev/ic/fmv.c fmv
|
|
|
|
# Crystal Semiconductor CS8900, CS8920, and CS8920M Ethernet
|
|
#
|
|
device cs: arp, ether, ifnet
|
|
device tscs: arp, ether, ifnet
|
|
file dev/ic/cs89x0.c cs | tscs
|
|
|
|
# Radio device attributes
|
|
#
|
|
define tea5757
|
|
file dev/ic/tea5757.c tea5757
|
|
define lm700x
|
|
file dev/ic/lm700x.c lm700x
|
|
|
|
# Philips PCF8584 i2c controller
|
|
define pcf8584
|
|
file dev/ic/pcf8584.c pcf8584
|
|
|
|
# PCA9564 i2c controller
|
|
define pca9564
|
|
file dev/ic/pca9564.c pca9564
|
|
|
|
# Synopsys DesignWare I2C controller
|
|
define dwiic
|
|
device dwiic: dwiic, i2cbus
|
|
file dev/ic/dwiic.c dwiic
|
|
|
|
# ACPI power management timer (hardware access, independent of ACPI)
|
|
#
|
|
define acpipmtimer
|
|
file dev/ic/acpipmtimer.c acpipmtimer
|
|
|
|
device hpet
|
|
file dev/ic/hpet.c hpet needs-flag
|
|
|
|
# SMSC LAN9118 Family Ethernet Controller
|
|
#
|
|
device smsh: arp, ether, ifnet, mii
|
|
file dev/ic/lan9118.c smsh
|
|
|
|
# Apple System Management Controller
|
|
#
|
|
define applesmcbus { }
|
|
device applesmc: applesmcbus
|
|
file dev/ic/apple_smc.c applesmc
|
|
|
|
# Apple SMC fan sensors and control
|
|
device applesmcfan: applesmcbus, sysmon_envsys
|
|
attach applesmcfan at applesmcbus with apple_smc_fan
|
|
file dev/ic/apple_smc_fan.c applesmcfan
|
|
|
|
# Apple SMC temperature sensors
|
|
device applesmctemp: applesmcbus, sysmon_envsys
|
|
attach applesmctemp at applesmcbus with apple_smc_temp
|
|
file dev/ic/apple_smc_temp.c applesmctemp
|
|
|
|
# Apple SMC accelerometer (not yet implemented!)
|
|
#device applesmcaccel: applesmcbus, sysmon_envsys
|
|
#attach applesmcaccel at applesmcbus with apple_smc_accel
|
|
#file dev/ic/apple_smc_accel.c applesmcaccel
|
|
|
|
# DRM - Direct Rendering Infrastructure: dev/drm
|
|
define drm {}
|
|
include "external/bsd/drm/conf/files.drm"
|
|
include "dev/drm/files.drm"
|
|
|
|
# Linux API support
|
|
include "external/bsd/common/conf/files.linux"
|
|
|
|
# DRM/KMS - Newer direct rendering manager with kernel mode-switching
|
|
include "external/bsd/drm2/drm/files.drmkms"
|
|
|
|
|
|
# Definitions for wscons
|
|
# device attributes: display, display with emulator, keyboard, and mouse
|
|
#
|
|
define wsdisplaydev {[kbdmux = 1]}
|
|
define wsemuldisplaydev {[console = -1], [kbdmux = 1]}
|
|
define wskbddev {[console = -1], [mux = 1]}
|
|
define wsmousedev {[mux = 0]}
|
|
define wsbelldev {[console = -1], [mux = 1]}
|
|
define vcons
|
|
# attribute to pull in raster support
|
|
#
|
|
define wsrasteremulops
|
|
# common PC display functions
|
|
#
|
|
defflag opt_pcdisplay.h PCDISPLAY_SOFTCURSOR
|
|
define pcdisplayops
|
|
file dev/ic/pcdisplay_subr.c pcdisplayops
|
|
file dev/ic/pcdisplay_chars.c pcdisplayops
|
|
# an attribute used by arch specific config files to include /dev/fb* (or
|
|
# equivalent) support - on most archs this is just a NOP (untill, maybe
|
|
# someday when we might make /dev/fb* support MI)
|
|
define fb
|
|
# VGA graphics
|
|
#
|
|
defparam opt_vga.h VGA_CONSOLE_SCREENTYPE
|
|
defflag opt_vga.h VGA_CONSOLE_ATI_BROKEN_FONTSEL
|
|
defflag opt_vga.h VGA_RASTERCONSOLE
|
|
defflag opt_vga.h VGA_RESET
|
|
device vga: displaydev, wsemuldisplaydev, pcdisplayops, drm
|
|
file dev/ic/vga.c vga & !vga_rasterconsole needs-flag
|
|
file dev/ic/vga_raster.c vga_rasterconsole needs-flag
|
|
file dev/ic/vga_subr.c vga | vga_rasterconsole
|
|
file dev/ic/vga_common.c vga | vga_rasterconsole
|
|
|
|
# Integraphics Systems IGA168x and CyberPro framebuffers (linear non-VGA mode)
|
|
#
|
|
device igsfb: wsemuldisplaydev, rasops8, vcons, videomode
|
|
file dev/ic/igsfb.c igsfb needs-flag
|
|
file dev/ic/igsfb_subr.c igsfb
|
|
|
|
device chipsfb: wsemuldisplaydev, rasops8, vcons, videomode, glyphcache
|
|
file dev/ic/ct65550.c chipsfb
|
|
defflag opt_chipsfb.h CHIPSFB_DEBUG
|
|
defflag opt_chipsfb.h CHIPSFB_WAIT
|
|
|
|
# STI (hp graphics)
|
|
device sti: wsemuldisplaydev
|
|
file dev/ic/sti.c sti
|
|
|
|
include "dev/wscons/files.wscons"
|
|
include "dev/rasops/files.rasops"
|
|
include "dev/wsfont/files.wsfont"
|
|
include "dev/wsfb/files.wsfb"
|
|
|
|
# Attributes which machine-independent bus support can be attached to.
|
|
# These should be defined here, because some of these busses can have
|
|
# devices which provide these attributes, and we'd like to avoid hairy
|
|
# ordering constraints on inclusion of the busses' "files" files.
|
|
#
|
|
define isabus { } # ISA attachment
|
|
define eisabus { } # EISA attachment
|
|
define pcibus {[bus = -1]} # PCI attachment
|
|
define mcabus { } # MicroChannel attachment
|
|
define usbus { } # USB attachment
|
|
define fwbus { } # IEEE 1394 attachment
|
|
define vmebus { } # VME bus attachment
|
|
define acpibus { } # ACPI "bus" attachment
|
|
define pcmciabus { [controller = -1], [socket = -1]} # PCMCIA bus attachment
|
|
define cbbus { } # CardBus attachment
|
|
define pcmciaslot { } # PCMCIA slot itself
|
|
define sdmmcbus { } # SD/MMC attachment
|
|
|
|
# We need the USB bus controllers here so different busses can
|
|
# use them in an 'attach-with'.
|
|
#
|
|
|
|
define usbroothub
|
|
file dev/usb/usbroothub.c usbroothub
|
|
|
|
define usb_dma
|
|
|
|
# UHCI USB controller
|
|
#
|
|
device uhci: usbus, usbroothub, usb_dma
|
|
file dev/usb/uhci.c uhci needs-flag
|
|
|
|
# OHCI USB controller
|
|
#
|
|
device ohci: usbus, usbroothub, usb_dma
|
|
file dev/usb/ohci.c ohci needs-flag
|
|
|
|
# EHCI USB2 controller
|
|
#
|
|
device ehci: usbus, usbroothub, usb_dma
|
|
file dev/usb/ehci.c ehci needs-flag
|
|
|
|
# xHCI USB3 controller
|
|
#
|
|
device xhci: usbus, usbroothub, usb_dma
|
|
file dev/usb/xhci.c xhci needs-flag
|
|
|
|
# vHCI USB controller
|
|
#
|
|
defpseudodev vhci: usbus, usbroothub
|
|
file dev/usb/vhci.c vhci needs-flag
|
|
|
|
# Mentor graphics OTG IP
|
|
device motg: usbus, usbroothub
|
|
file dev/usb/motg.c motg needs-flag
|
|
|
|
# SL811HS/T USB controller
|
|
defflag opt_slhci.h SLHCI_TRY_LSVH SLHCI_PROFILE_TRANSFER
|
|
device slhci: usbus, usbroothub
|
|
file dev/ic/sl811hs.c slhci needs-flag
|
|
|
|
# DesignWare OTG host controller
|
|
#
|
|
include "external/bsd/dwc2/conf/files.dwc2"
|
|
|
|
# SD Host controller
|
|
device sdhc: sdmmcbus
|
|
file dev/sdmmc/sdhc.c sdhc needs-flag
|
|
|
|
# Winbond Integrated Media Reader
|
|
device wb: sdmmcbus
|
|
file dev/ic/w83l518d.c wb
|
|
file dev/ic/w83l518d_sdmmc.c wb
|
|
|
|
# Realtek RTS5209/RTS5229 Card Reader
|
|
device rtsx: sdmmcbus
|
|
file dev/ic/rtsx.c rtsx
|
|
|
|
# DesignWare SD/MMC host controller
|
|
defflag opt_dwc_mmc.h DWC_MMC_DEBUG
|
|
device dwcmmc: sdmmcbus
|
|
file dev/ic/dwc_mmc.c dwcmmc
|
|
|
|
# ARM PrimeCell PL031 (RTC) real time clock
|
|
device plrtc
|
|
file dev/ic/pl031.c plrtc
|
|
|
|
# ARM PrimeCell PL041 (AACI) Advanced Audio CODEC interface
|
|
device aaci: audiobus, auconv, aurateconv, mulaw, ac97
|
|
file dev/ic/pl041.c aaci
|
|
|
|
# ARM PrimeCell PL050 (KMI) PS2 keyboard/mouse interface
|
|
device plkmi: pckbport
|
|
file dev/ic/pl050.c plkmi
|
|
|
|
# ARM PrimeCell PL061 (GPIO) general purpose input/output
|
|
device plgpio: gpiobus
|
|
file dev/ic/pl061.c plgpio
|
|
|
|
# ARM PrimeCell PL181 (MMCI) host controller
|
|
device plmmc: sdmmcbus
|
|
file dev/ic/pl181.c plmmc
|
|
|
|
# Myson MTD803 3-in-1 Fast Ethernet Controller
|
|
device mtd: arp, ether, ifnet, mii
|
|
file dev/ic/mtd803.c mtd
|
|
|
|
# radio devices, attaches to radio hardware driver
|
|
device radio
|
|
attach radio at radiodev
|
|
|
|
# IEEE 1394 controllers
|
|
# (These need to be here since it will have both PCI and CardBus attachments)
|
|
#
|
|
device fwohci: fwbus
|
|
|
|
# Sony Programmable I/O Controller
|
|
device spic: wsmousedev
|
|
file dev/ic/spic.c spic
|
|
|
|
# IBM CPC700 PowerPC bridge
|
|
define cpcbus { addr, [irq=-1] }
|
|
device cpc: cpcbus, pcibus
|
|
file dev/ic/cpc700.c cpc
|
|
|
|
attach com at cpcbus with com_cpcbus
|
|
file dev/ic/com_cpcbus.c com_cpcbus
|
|
|
|
device cpctim
|
|
attach cpctim at cpcbus
|
|
file dev/ic/timer_cpcbus.c cpctim
|
|
|
|
device cpciic
|
|
attach cpciic at cpcbus with iic_cpcbus
|
|
file dev/ic/iic_cpcbus.c iic_cpcbus
|
|
|
|
|
|
# Broadcom AirForce / Apple Airport Extreme
|
|
device bwi: arp, ifnet, firmload, wlan
|
|
file dev/ic/bwi.c bwi
|
|
|
|
# DM9000 Ethernet controllers
|
|
#
|
|
device dme: arp, ether, ifnet
|
|
file dev/ic/dm9000.c dme
|
|
|
|
# NVM Express Controller
|
|
#
|
|
device nvme {nsid = -1}
|
|
file dev/ic/nvme.c nvme
|
|
|
|
attach ld at nvme with ld_nvme
|
|
file dev/ic/ld_nvme.c ld_nvme
|
|
|
|
# Broadcom FullMAC 802.11 driver
|
|
device bwfm: arp, ifnet, wlan
|
|
file dev/ic/bwfm.c bwfm
|
|
|
|
# QEMU Firmware Configuration (fw_cfg) device
|
|
device qemufwcfg
|
|
file dev/ic/qemufwcfg.c qemufwcfg
|
|
|
|
# AMD Cryptographic Coprocessor
|
|
device amdccp
|
|
file dev/ic/amdccp.c amdccp
|
|
|
|
# legitimate pseudo-devices
|
|
#
|
|
defpseudodev vnd: disk
|
|
defflag opt_vnd.h VND_COMPRESSION
|
|
defpseudo ccd: disk
|
|
defpseudodev cgd: disk, des, blowfish, cast128
|
|
defpseudodev md: disk
|
|
defpseudodev fss: disk
|
|
|
|
defpseudo pty: tty
|
|
defpseudo rnd
|
|
defpseudo ksyms
|
|
defpseudo nullcons
|
|
defpseudo lockstat
|
|
defpseudo bio: sysmon_envsys
|
|
|
|
defpseudo loop: ifnet
|
|
defpseudo sl: ifnet
|
|
defpseudo ppp: ifnet, bpf_filter
|
|
defpseudo pppoe: ifnet, ether, sppp
|
|
defpseudo tun: ifnet
|
|
defpseudo vlan: ifnet, ether
|
|
defpseudo bridge: ifnet, ether
|
|
defpseudo bpfilter: ifnet, bpf_filter
|
|
defpseudo strip: ifnet
|
|
defpseudo gre: ifnet
|
|
defpseudo gif: ifnet
|
|
defpseudo faith: ifnet
|
|
defpseudo mpls: ifnet
|
|
defpseudo srt: ifnet
|
|
defpseudo stf: ifnet
|
|
defpseudodev tap: ifnet, ether, arp
|
|
defpseudo carp: ifnet, ether, arp
|
|
defpseudodev l2tp: ifnet, ether, arp
|
|
defpseudo canloop: ifnet
|
|
defpseudo ipsecif: ifnet # avoid to confuse ipsec itself option
|
|
|
|
defpseudo sequencer
|
|
defpseudo clockctl
|
|
|
|
#
|
|
# Accept filters. XXX should use another registration/initialization method.
|
|
#
|
|
defpseudo accf_data
|
|
defpseudo accf_http
|
|
|
|
# KTTCP network throughput testing pseudo-device
|
|
defpseudo kttcp
|
|
file dev/kttcp.c kttcp needs-flag
|
|
|
|
# Veriexec
|
|
defpseudo veriexec
|
|
file kern/kern_veriexec.c veriexec
|
|
file dev/veriexec.c veriexec needs-flag
|
|
|
|
# driver attach / detach user interface
|
|
defpseudo drvctl
|
|
file kern/kern_drvctl.c drvctl needs-flag
|
|
|
|
# cpu control
|
|
defpseudo cpuctl
|
|
defflag CPU_UCODE: firmload
|
|
|
|
# pass-to-userspace transporter
|
|
defpseudo putter
|
|
file dev/putter/putter.c putter
|
|
|
|
# userspace block/char device drivers
|
|
defpseudo pud
|
|
file dev/pud/pud.c pud
|
|
file dev/pud/pud_dev.c pud
|
|
|
|
# device-mapper driver for LVM
|
|
include "dev/dm/files.dm"
|
|
|
|
# LED framework
|
|
file dev/led.c leds
|
|
|
|
# IPMI
|
|
device ipmi: sysmon_envsys, sysmon_wdog
|
|
attach ipmi at ipmibus
|
|
|
|
# Designware HDMI TX
|
|
device dwhdmi: edid, videomode, drmkms, drmkms_i2c
|
|
file dev/ic/dw_hdmi.c dwhdmi
|
|
file dev/ic/dw_hdmi_phy.c dwhdmi
|
|
|
|
#
|
|
# File systems
|
|
#
|
|
include "coda/files.coda"
|
|
include "fs/adosfs/files.adosfs"
|
|
include "fs/cd9660/files.cd9660"
|
|
include "fs/efs/files.efs"
|
|
include "fs/filecorefs/files.filecorefs"
|
|
include "fs/hfs/files.hfs"
|
|
include "fs/msdosfs/files.msdosfs"
|
|
include "fs/nilfs/files.nilfs"
|
|
include "fs/ntfs/files.ntfs"
|
|
include "fs/ptyfs/files.ptyfs"
|
|
include "fs/puffs/files.puffs"
|
|
include "fs/udf/files.udf"
|
|
include "fs/smbfs/files.smbfs"
|
|
include "fs/sysvbfs/files.sysvbfs"
|
|
include "fs/tmpfs/files.tmpfs"
|
|
include "fs/union/files.union"
|
|
include "fs/v7fs/files.v7fs"
|
|
include "fs/autofs/files.autofs"
|
|
include "miscfs/fdesc/files.fdesc"
|
|
include "miscfs/kernfs/files.kernfs"
|
|
include "miscfs/nullfs/files.nullfs"
|
|
include "miscfs/overlay/files.overlay"
|
|
include "miscfs/procfs/files.procfs"
|
|
include "miscfs/umapfs/files.umapfs"
|
|
include "nfs/files.nfs"
|
|
include "ufs/files.ufs"
|
|
include "fs/nfs/files.newnfs"
|
|
|
|
#
|
|
# UVM (virtual memory)
|
|
#
|
|
include "uvm/files.uvm"
|
|
|
|
#
|
|
# Security models
|
|
#
|
|
include "secmodel/files.secmodel"
|
|
|
|
include "kern/files.kern"
|
|
|
|
include "dev/files.dev"
|
|
|
|
include "net/files.net"
|
|
|
|
# Game adapter (joystick)
|
|
device joy
|
|
file dev/ic/joy.c joy needs-flag
|
|
|
|
# process monitor for make(1)
|
|
# normally built as module
|
|
defpseudo filemon
|
|
file dev/filemon/filemon.c filemon
|
|
file dev/filemon/filemon_wrapper.c filemon
|
|
|
|
#
|
|
# General Purpose Input/Output framework
|
|
#
|
|
define onewire_bitbang
|
|
include "dev/gpio/files.gpio"
|
|
|
|
include "dev/onewire/files.onewire"
|
|
|
|
#
|
|
# Pseudo audio device
|
|
#
|
|
include "dev/pad/files.pad"
|
|
|
|
#
|
|
# Intel 386 Real Mode emulator
|
|
#
|
|
include "lib/libx86emu/files.x86emu"
|
|
|
|
#
|
|
# "tprof" profiler.
|
|
#
|
|
include "dev/tprof/files.tprof"
|
|
|
|
#
|
|
# NetBSD Virtual Machine Monitor.
|
|
#
|
|
include "dev/nvmm/files.nvmm"
|
|
|
|
#
|
|
# alternate memory device
|
|
#
|
|
include "dev/altmem/files.altmem"
|
|
|
|
#
|
|
# Flash subsystem
|
|
#
|
|
include "dev/flash/files.flash"
|
|
|
|
#
|
|
# NAND subsytem
|
|
#
|
|
include "dev/nand/files.nand"
|
|
|
|
#
|
|
# NOR subsytem
|
|
#
|
|
include "dev/nor/files.nor"
|
|
|
|
#
|
|
# iscsi
|
|
#
|
|
include "dev/iscsi/files.iscsi"
|
|
|
|
#
|
|
# athn
|
|
#
|
|
include "dev/ic/files.athn"
|
|
|
|
#
|
|
# MI clk api
|
|
#
|
|
include "dev/clk/files.clk"
|
|
|
|
#
|
|
# Flattened Device Tree (FDT) support
|
|
#
|
|
include "dev/ofw/files.ofw"
|
|
include "dev/fdt/files.fdt"
|
|
|
|
#
|
|
# Name value library
|
|
#
|
|
include "external/bsd/libnv/conf/files.libnv"
|