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: CUBOX,v 1.21 2022/08/07 02:52:25 simonb Exp $
#
#	CUBOX -- SolidRun Ltd. Cubox kernel
#

include	"arch/evbarm/conf/std.marvell"

#options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary

# estimated number of users

maxusers	32

# Board Type
makeoptions	BOARDTYPE="cubox"
options 	EVBARM_BOARDTYPE=cubox

# CPU options
options 	CPU_PJ4B	# XXXX: CPU is PJ4
options 	ARM_HAS_VBAR
options 	FPU_VFP
makeoptions	CPUFLAGS="-march=armv7-a -mfpu=vfpv3"

# Marvell SoC options
options 	DOVE

# 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 	KTRACE		# system call tracing via ktrace(1)

# Note: SysV IPC parameters can be changed dynamically; see sysctl(8).
options 	SYSVMSG		# System V-like message queues
options 	SYSVSEM		# System V-like semaphores
options 	SYSVSHM		# System V-like memory sharing

#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 	VERBOSE_INIT_ARM # verbose bootstraping messages
options 	DIAGNOSTIC	# internally consistency checks

#options 	DEBUG
#options 	UVMHIST		# kernhist for uvm/pmap subsystems
options 	LOCKDEBUG	# expensive locking checks/support
options 	IRQSTATS	# manage IRQ statistics
#options 	NO_POWERSAVE	# uncomment this to run under ICE

#makeoptions	COPTS="-O2"
options 	DDB			# in-kernel debugger
#options 	DDB_KEYCODE=0x1d	# ^]
#options 	DDB_COMMANDONENTER="bt"	# execute command when ddb is entered
options 	DDB_ONPANIC=1		# see also sysctl(7): `ddb.onpanic'
options 	DDB_HISTORY_SIZE=100	# Enable history editing in DDB
options 	DDB_VERBOSE_HELP
#options	KGDB
#options 	KGDB_DEVRATE=115200
makeoptions	DEBUG="-g"		# compile full symbol table
makeoptions	COPY_SYMTAB=1
#options 	SYSCALL_STATS			# per syscall counts
#options 	SYSCALL_TIMES			# per syscall times
#options 	SYSCALL_TIMES_HASCOUNTER	# use 'broken' rdtsc (soekris)


# Compatibility options

include 	"conf/compat_netbsd60.config"
options 	COMPAT_NETBSD32	# allow running arm (e.g. non-earm) binaries

# Wedge support
options 	DKWEDGE_AUTODISCOVER	# Automatically add dk(4) instances
options 	DKWEDGE_METHOD_GPT	# Supports GPT partitions as wedges

# File systems
file-system	FFS		# UFS
file-system	MFS		# memory file system
file-system	NFS		# Network File System client
file-system	TMPFS		# Efficient memory file-system
file-system	EXT2FS		# second extended file system (linux)
file-system	LFS		# log-structured file system
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	PUFFS		# Userspace file systems (e.g. ntfs-3g & sshfs)
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	UDF		# experimental - OSTA UDF CD/DVD file-system
#file-system	HFS		# experimental - Apple HFS+ (read-only)
#file-system	NILFS		# experimental - NTT's NiLFS(2)

# 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 	LFS_DIRHASH	# LFS version of UFS_DIRHASH - experimental
#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

# 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 	MPLS		# MultiProtocol Label Switching (needs ifmpls)
#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

# Device options

# These options enable verbose messages for several subsystems.
# Warning, these may compile large string tables into the kernel!
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	# Verbose SCSI errors
#options 	USBVERBOSE	# verbose USB device autoconfig messages

# Kernel root file system and dump configuration.
config		netbsd	root on ? type ?

options 		NFS_BOOT_BOOTP
options 		NFS_BOOT_DHCP
#options 		NFS_BOOT_BOOTPARAM
#options 		NFS_BOOT_BOOTSTATIC
#options 		NFS_BOOTSTATIC_MYIP="\"192.168.0.2\""
#options 		NFS_BOOTSTATIC_GWIP="\"192.168.0.1\""
#options 		NFS_BOOTSTATIC_MASK="\"255.255.255.0\""
#options 		NFS_BOOTSTATIC_SERVADDR="\"192.168.0.3\""
#options 		NFS_BOOTSTATIC_SERVER="\"192.168.0.3:/nfs/cubox\""


#
# Device configuration
#

mainbus0	at root

cpu*		at mainbus?

# Marvell 88AP510 Dove System-on-chip
mvsoc0  at mainbus?
#options 	MVSOC_CONSOLE_EARLY

# On-chip Power Management Unit
mvsocpmu* at mvsoc? offset ? irq ?

# On-chip Gigabit Ethernet Controller
mvgbec* at mvsoc? offset ?
mvgbe*	at mvgbec? port ? irq ?

# MII/PHY support
makphy* at mii? phy ?

# On-chip Cryptographic Engines and Security Accelerator (CESA)
mvcesa* at mvsoc? offset ? irq ?

# On-chip XOR DMA Engine
gtidmac* at mvsoc? offset ? irq ?

# On-chip PCI Express Interface
mvpex*	at mvsoc? offset ? irq ?
pci*	at mvpex?

# PCI bus support
options 	PCI_NETBSD_CONFIGURE
#options 	PCI_CONFIG_DUMP		# verbosely dump PCI config space

pchb*	at pci? dev ? function ?	# PCI-Host bridges

# On-chip Serial-ATA (SATA) II Interface
mvsata* at mvsoc? offset ? irq ?

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

# IDE drives
wd*	at atabus? drive ? flags 0x0000

# On-chip USB 2.0 Interface
ehci*	at mvsoc? offset ? irq ?

# On-chip Secure Digital Input/Output Host Controller
sdhc*	at mvsoc? offset ? irq ?
sdmmc*	at sdhc?

ld*	at sdmmc?

# On-chip Serial Peripheral Interface (SPI)
mvspi*	at mvsoc? offset ? irq ?
spi*	at mvspi?

m25p0	at spi? slave 0
spiflash0 at spiflashbus?

# On-chip Two-Wire Serial Interface (TWSI)
gttwsi* at mvsoc? offset ? irq ?
iic*	at gttwsi?

#TDA998x at iic? addr 0x34 # HDMI transmitters
#Si5351A at iic? addr 0x60 # Programmable Any-Frequency CMOS Clock Generator
#lcdc at iic? addr 0x70

# On-chip UART Interface
com*	at mvsoc? offset ? irq ?

# On-chip Real Time Clock (RTC)
mvsocrtc* at mvsoc? offset ? irq ?

# On-chip Timers
mvsoctmr* at mvsoc? offset ? irq ?


# USB bus support
usb*	at ehci?

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

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

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

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

# USB Mass Storage
umass*	at uhub? port ? configuration ? interface ?
scsibus* at scsi?
sd*	at scsibus? target ? lun ?	# SCSI disk drives
cd*	at scsibus? target ? lun ?	# SCSI CD-ROM drives

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

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

# USB Generic driver
ugen*	at uhub? port ?


# 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			# concatenated/striped disk devices
pseudo-device	cgd			# cryptographic disk devices
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	fss			# file system snapshot device
pseudo-device	putter			# for puffs and pud

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	npf			# NPF packet filter
pseudo-device	loop			# network loopback
#pseudo-device	ifmpls			# MPLS pseudo-interface
pseudo-device	ppp			# Point-to-Point Protocol
pseudo-device	pppoe			# PPP over Ethernet (RFC 2516)
pseudo-device	sl			# Serial Line IP
pseudo-device	irframetty		# IrDA frame line discipline
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
#pseudo-device	npf			# NPF packet filter

#
# accept filters
pseudo-device	accf_data		# "dataready" accept filter
pseudo-device	accf_http		# "httpready" accept filter

# miscellaneous pseudo-devices
pseudo-device	pty			# pseudo-terminals
pseudo-device	sequencer		# MIDI sequencer
#options 	RND_COM			# use "com" randomness as well (BROKEN)
pseudo-device	clockctl		# user control of clock subsystem
pseudo-device	ksyms			# /dev/ksyms

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

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

# pseudo audio device driver
#pseudo-device	pad

# userland interface to drivers, including autoconf and properties retrieval
pseudo-device	drvctl

# Veriexec
include "dev/veriexec.config"

options 	PAX_MPROTECT=0		# PaX mprotect(2) restrictions
options 	PAX_ASLR=0		# PaX Address Space Layout Randomization