Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

# $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"