# $NetBSD: GENERIC,v 1.111 2023/02/12 14:50:41 abs Exp $
#
# machine description file for GENERIC NAS
#
# This machine description file is used to generate the default NetBSD
# kernel. The generic kernel does not include all options, subsystems
# and device drivers, but should be useful for most applications.
#
# The machine description file can be customised for your specific
# machine to reduce the kernel size and improve its performance.
#
# For further information on compiling NetBSD kernels, see the config(8)
# man page.
#
# For further information on hardware support for this architecture, see
# the intro(4) man page. For further information about kernel options
# for this architecture, see the options(4) man page. For an explanation
# of each device driver in this file see the section 4 man page for the
# device.
include "arch/sandpoint/conf/std.sandpoint"
options INCLUDE_CONFIG_FILE # embed config file in kernel binary
#ident "GENERIC-$Revision: 1.111 $"
maxusers 32
#options ALTIVEC # Include AltiVec support
# Standard system options
#options INSECURE # disable kernel security levels
options RTC_OFFSET=0 # hardware clock is this many mins. west of GMT
options KTRACE
options SYSVMSG # System V message queues
options SYSVSEM # System V semaphores
options SYSVSHM # System V shared memory
#options MODULAR # module(7) support
#options MODULAR_DEFAULT_AUTOLOAD
#options USERCONF # userconf(4) support
#options PIPE_SOCKETPAIR # smaller, but slower pipe(2)
options SYSCTL_INCLUDE_DESCR # Include sysctl descriptions in kernel
# Alternate buffer queue strategies for better responsiveness under high
# disk I/O load.
#options BUFQ_READPRIO
options BUFQ_PRIOCSCAN
# Diagnostic/debugging support options
#options DIAGNOSTIC # cheap kernel consistency checks
#options DEBUG # expensive debugging checks/support
options DDB
#options DDB_HISTORY_SIZE=100 # Enable history editing in DDB
#options TRAP_PANICWAIT
#options PMAPCHECK
#options PMAPDEBUG
options MSGBUFSIZE=65536
#makeoptions DEBUG="-g"
# Compatibility options
include "conf/compat_netbsd09.config"
options COMPAT_NOMID # NetBSD 0.8, 386BSD, and BSDI
#options COMPAT_386BSD_MBRPART # recognize old partition ID
#options COMPAT_LINUX # binary compatibility with Linux
#options COMPAT_OSSAUDIO # binary compatibility with Linux
# Wedge support
options DKWEDGE_AUTODISCOVER # Automatically add dk(4) instances
options DKWEDGE_METHOD_GPT # Supports GPT partitions as wedges
#options DKWEDGE_METHOD_BSDLABEL # Support disklabel entries as wedges
#options DKWEDGE_METHOD_MBR # Support MBR partitions as wedges
options DKWEDGE_METHOD_APPLE # Support Apple partitions as wedges
#options DKWEDGE_METHOD_RDB # Support RDB partitions as wedges
# 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 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 PTYFS # /dev/ptm support
file-system TMPFS # Efficient memory file-system
# File system options
#options FFS_EI # FFS Endian Independent support
#options FFS_NO_SNAPSHOT # No FFS snapshot support
options QUOTA # legacy UFS quotas
options QUOTA2 # new, in-filesystem UFS quotas
options UFS_DIRHASH # UFS Large Directory Hashing
options UFS_EXTATTR # Extended attribute support for UFS1
options WAPBL # File system journaling support
#options EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and
# immutable) behave as system flags.
#options DISKLABEL_EI # disklabel Endian Independent support
options NFSSERVER # Network File System server
#options NFS_BOOT_DHCP
options NFS_BOOT_BOOTPARAM,NFS_BOOT_BOOTP
# Networking options
#options GATEWAY # packet forwarding
options INET # IP + ICMP + TCP + UDP
options INET6 # IPV6
#options IPSEC # IP security
#options IPSEC_DEBUG # debug for IP security
#options MROUTING # IP multicast routing
#options PIM # Protocol Independent Multicast
#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 TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG
#options ALTQ # Manipulate network interfaces' output queues
#options ALTQ_BLUE # Stochastic Fair Blue
#options ALTQ_CBQ # Class-Based Queueing
#options ALTQ_CDNR # Diffserv Traffic Conditioner
#options ALTQ_FIFOQ # First-In First-Out Queue
#options ALTQ_FLOWVALVE # RED/flow-valve (red-penalty-box)
#options ALTQ_HFSC # Hierarchical Fair Service Curve
#options ALTQ_LOCALQ # Local queueing discipline
#options ALTQ_PRIQ # Priority Queueing
#options ALTQ_RED # Random Early Detection
#options ALTQ_RIO # RED with IN/OUT
#options ALTQ_WFQ # Weighted Fair Queueing
# These options enable verbose messages for several subsystems.
# Warning, these may compile large string tables into the kernel!
#options PCIVERBOSE # verbose PCI device autoconfig messages
#options MIIVERBOSE # verbose PHY autoconfig messages
#options PCI_CONFIG_DUMP # verbosely dump PCI config space
#options SCSIVERBOSE # human readable SCSI error messages
#options USBVERBOSE # verbose USB device autoconfig messages
# Kernel root file system and dump configuration
config netbsd root on ? type ?
#
# Device configuration
#
mainbus0 at root
cpu* at mainbus0
#cfi0 at mainbus0
#nor* at cfi?
#flash* at nor?
nhpow0 at mainbus0 # NH230/231 power,LED,buttons
#options PCI_NETBSD_CONFIGURE
pci* at mainbus0 bus ?
pchb* at pci? dev ? function ? # PCI host bridge
eumb* at mainbus0
com0 at eumb? unit 0 # console at 0x4500
#com1 at eumb? unit 1
satmgr0 at eumb? unit 1 # satmgr at 0x4600
ociic* at eumb?
iic* at ociic?
lmtemp* at iic? addr 0x48 # LM75 temperature sensor
rs5c372rtc* at iic? addr 0x32
s390rtc* at iic? addr 0x30
pcf8563rtc* at iic? addr 0x51
dsrtc* at iic? addr 0x68
strtc* at iic? addr 0x68 # ST M41T80 (or compat) RTC
# PCI IDE controllers - see pciide(4) for supported hardware.
acardide* at pci? dev ? function ? # Acard IDE controllers
cmdide* at pci? dev ? function ? # CMD tech IDE controllers
iteide* at pci? dev ? function ? # IT Express IDE controllers
satalink* at pci? dev ? function ? # SiI SATALink controllers
viaide* at pci? dev ? function ? # VIA IDE controllers
# ATA (IDE) bus support
atabus* at ata?
# 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".
wd* at atabus? drive ? flags 0x0000
# ATAPI bus support
atapibus* at atapi?
# ATAPI devices
# flags have the same meaning as for IDE drives.
cd* at atapibus? drive ? flags 0x0000 # ATAPI CD-ROM drives
sd* at atapibus? drive ? flags 0x0000 # ATAPI disk drives
uk* at atapibus? drive ? flags 0x0000 # ATAPI unknown
# PCI network interfaces
ral* at pci? dev ? function ? # Ralink Technology RT25x0 802.11a/b/g
re* at pci? dev ? function ? # Realtek 8139C+/8169/8169S/8110S
skc* at pci? dev ? function ? # Marvell Yukon Gigabit Ethernet
sk* at skc? # Marvell Yukon Gigabit Ethernet
stge* at pci? dev ? function ? # Sundance ST1023 Gigabit
tlp* at pci? dev ? function ? # DEC Tulip and similar
wm* at pci? dev ? function ? # Intel 8254x Gigabit Ethernet
inphy* at mii? phy ? # Intel 82555 PHYs
nsphy* at mii? phy ? # NS83840 PHYs
rgephy* at mii? phy ? # Realtek 8169S/8110S internal PHYs
makphy* at mii? phy ? # Marvell Semiconductor 88E1000 PHYs
ukphy* at mii? phy ? # generic unknown PHYs
# GPIO devices
gpio* at gpiobus?
# USB Controller and Devices
ehci* at pci? dev ? function ? # Enhanced Host Controller
ohci* at pci? dev ? function ? # Open Host Controller
# USB bus support
usb* at ehci?
usb* at ohci?
# USB Hubs
uhub* at usb?
uhub* at uhub? port ?
# USB HID devices
uhidev* at uhub? port ? configuration ? interface ? # USB HID device
uthum* at uhidev? reportid ? # TEMPerHUM sensors
uhid* at uhidev? reportid ? # USB Generic HID
# USB video
uvideo* at uhub? # USB Video Class capture devices
video* at videobus?
# USB printer
ulpt* at uhub? port ? configuration ? interface ?
# USB Mass Storage
umass* at uhub? port ? configuration ? interface ?
ugen* at uhub? port ? configuration ? interface ? # USB Generic driver
# SCSI bus support
scsibus* at umass?
# SCSI devices
sd* at scsibus? target ? lun ? # SCSI disk drives
cd* at scsibus? target ? lun ? # SCSI CD-ROM drives
#
# Pseudo-Devices
#
#pseudo-device crypto # /dev/crypto device
#pseudo-device swcrypto # software crypto implementation
# disk/mass storage pseudo-devices
#pseudo-device ccd # concatenated/striped disk devices
#pseudo-device cgd # cryptographic disk devices
pseudo-device fss # file system snapshot device
#pseudo-device putter # for puffs and pud
pseudo-device raid # 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 vnd
#options VND_COMPRESSION # compressed vnd(4)
# network pseudo-devices
pseudo-device loop
pseudo-device bpfilter # packet filter
pseudo-device carp # Common Address Redundancy Protocol
#pseudo-device ppp # Point-to-Point Protocol
#pseudo-device pppoe # PPP over Ethernet (RFC 2516)
#pseudo-device npf # NPF packet filter
#pseudo-device sl # Serial Line IP
#pseudo-device tun # network tunneling over tty
#pseudo-device tap # virtual Ethernet
#pseudo-device gre # generic L3 over IP tunnel
#pseudo-device gif # IPv[46] over IPv[46] tunnel (RFC1933)
#pseudo-device faith # IPv[46] tcp relay translation i/f
#pseudo-device stf # 6to4 IPv6 over IPv4 encapsulation
#pseudo-device vlan # IEEE 802.1q encapsulation
#pseudo-device bridge # simple inter-network bridging
#pseudo-device vether # Virtual Ethernet for bridge
#pseudo-device agr # IEEE 802.3ad link aggregation
#
# accept filters
#pseudo-device accf_data # "dataready" accept filter
#pseudo-device accf_http # "httpready" accept filter
# miscellaneous pseudo-devices
pseudo-device pty
pseudo-device clockctl # user control of clock subsystem
pseudo-device ksyms # /dev/ksyms
#pseudo-device lockstat # lock profiling
pseudo-device swwdog # software watchdog timer -- swwdog(4)
# a pseudo device needed for Coda # also needs CODA (above)
#pseudo-device vcoda # coda minicache <-> venus comm.
# userland interface to drivers, including autoconf and properties retrieval
pseudo-device drvctl
include "dev/veriexec.config"
#options PAX_MPROTECT=0 # PaX mprotect(2) restrictions
#options PAX_ASLR=0 # PaX Address Space Layout Randomization
# Pull in optional local configuration - always at end
cinclude "arch/sandpoint/conf/GENERIC.local"