CUBOX revision 1.22
11.22Sandvar# $NetBSD: CUBOX,v 1.22 2024/01/14 10:35:26 andvar Exp $
21.1Skiyohara#
31.1Skiyohara#	CUBOX -- SolidRun Ltd. Cubox kernel
41.1Skiyohara#
51.1Skiyohara
61.1Skiyoharainclude	"arch/evbarm/conf/std.marvell"
71.1Skiyohara
81.1Skiyohara#options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
91.1Skiyohara
101.1Skiyohara# estimated number of users
111.1Skiyohara
121.1Skiyoharamaxusers	32
131.1Skiyohara
141.1Skiyohara# Board Type
151.1Skiyoharamakeoptions	BOARDTYPE="cubox"
161.1Skiyoharaoptions 	EVBARM_BOARDTYPE=cubox
171.1Skiyohara
181.1Skiyohara# CPU options
191.1Skiyoharaoptions 	CPU_PJ4B	# XXXX: CPU is PJ4
201.1Skiyoharaoptions 	ARM_HAS_VBAR
211.1Skiyoharaoptions 	FPU_VFP
221.1Skiyoharamakeoptions	CPUFLAGS="-march=armv7-a -mfpu=vfpv3"
231.1Skiyohara
241.1Skiyohara# Marvell SoC options
251.1Skiyoharaoptions 	DOVE
261.1Skiyohara
271.1Skiyohara# Standard system options
281.1Skiyohara
291.1Skiyoharaoptions 	INSECURE	# disable kernel security levels - X needs this
301.1Skiyohara
311.1Skiyoharaoptions 	RTC_OFFSET=0	# hardware clock is this many mins. west of GMT
321.1Skiyohara#options 	NTP		# NTP phase/frequency locked loop
331.1Skiyoharaoptions 	KTRACE		# system call tracing via ktrace(1)
341.1Skiyohara
351.1Skiyohara# Note: SysV IPC parameters can be changed dynamically; see sysctl(8).
361.1Skiyoharaoptions 	SYSVMSG		# System V-like message queues
371.1Skiyoharaoptions 	SYSVSEM		# System V-like semaphores
381.1Skiyoharaoptions 	SYSVSHM		# System V-like memory sharing
391.1Skiyohara
401.1Skiyohara#options 	USERCONF	# userconf(4) support
411.1Skiyohara#options 	PIPE_SOCKETPAIR	# smaller, but slower pipe(2)
421.1Skiyoharaoptions 	SYSCTL_INCLUDE_DESCR	# Include sysctl descriptions in kernel
431.1Skiyohara
441.1Skiyohara# Alternate buffer queue strategies for better responsiveness under high
451.1Skiyohara# disk I/O load.
461.1Skiyohara#options 	BUFQ_READPRIO
471.1Skiyoharaoptions 	BUFQ_PRIOCSCAN
481.1Skiyohara
491.1Skiyohara# Diagnostic/debugging support options
501.1Skiyohara#options 	VERBOSE_INIT_ARM # verbose bootstraping messages
511.1Skiyoharaoptions 	DIAGNOSTIC	# internally consistency checks
521.1Skiyohara
531.1Skiyohara#options 	DEBUG
541.17Sskrll#options 	UVMHIST		# kernhist for uvm/pmap subsystems
551.1Skiyoharaoptions 	LOCKDEBUG	# expensive locking checks/support
561.1Skiyoharaoptions 	IRQSTATS	# manage IRQ statistics
571.1Skiyohara#options 	NO_POWERSAVE	# uncomment this to run under ICE
581.1Skiyohara
591.1Skiyohara#makeoptions	COPTS="-O2"
601.1Skiyoharaoptions 	DDB			# in-kernel debugger
611.1Skiyohara#options 	DDB_KEYCODE=0x1d	# ^]
621.1Skiyohara#options 	DDB_COMMANDONENTER="bt"	# execute command when ddb is entered
631.1Skiyoharaoptions 	DDB_ONPANIC=1		# see also sysctl(7): `ddb.onpanic'
641.1Skiyoharaoptions 	DDB_HISTORY_SIZE=100	# Enable history editing in DDB
651.1Skiyoharaoptions 	DDB_VERBOSE_HELP
661.1Skiyohara#options	KGDB
671.1Skiyohara#options 	KGDB_DEVRATE=115200
681.1Skiyoharamakeoptions	DEBUG="-g"		# compile full symbol table
691.1Skiyoharamakeoptions	COPY_SYMTAB=1
701.1Skiyohara#options 	SYSCALL_STATS			# per syscall counts
711.1Skiyohara#options 	SYSCALL_TIMES			# per syscall times
721.1Skiyohara#options 	SYSCALL_TIMES_HASCOUNTER	# use 'broken' rdtsc (soekris)
731.1Skiyohara
741.1Skiyohara
751.1Skiyohara# Compatibility options
761.5Smrg
771.5Smrginclude 	"conf/compat_netbsd60.config"
781.5Smrgoptions 	COMPAT_NETBSD32	# allow running arm (e.g. non-earm) binaries
791.1Skiyohara
801.1Skiyohara# Wedge support
811.1Skiyoharaoptions 	DKWEDGE_AUTODISCOVER	# Automatically add dk(4) instances
821.1Skiyoharaoptions 	DKWEDGE_METHOD_GPT	# Supports GPT partitions as wedges
831.1Skiyohara
841.1Skiyohara# File systems
851.1Skiyoharafile-system	FFS		# UFS
861.1Skiyoharafile-system	MFS		# memory file system
871.1Skiyoharafile-system	NFS		# Network File System client
881.1Skiyoharafile-system	TMPFS		# Efficient memory file-system
891.1Skiyoharafile-system	EXT2FS		# second extended file system (linux)
901.1Skiyoharafile-system	LFS		# log-structured file system
911.1Skiyoharafile-system	NTFS		# Windows/NT file system (experimental)
921.1Skiyoharafile-system	CD9660		# ISO 9660 + Rock Ridge file system
931.1Skiyoharafile-system	MSDOSFS		# MS-DOS file system
941.1Skiyoharafile-system	FDESC		# /dev/fd
951.1Skiyoharafile-system	KERNFS		# /kern
961.1Skiyoharafile-system	NULLFS		# loopback file system
971.1Skiyoharafile-system	OVERLAY		# overlay file system
981.1Skiyoharafile-system	PROCFS		# /proc
991.1Skiyoharafile-system	PUFFS		# Userspace file systems (e.g. ntfs-3g & sshfs)
1001.1Skiyoharafile-system	UMAPFS		# NULLFS + uid and gid remapping
1011.1Skiyoharafile-system	UNION		# union file system
1021.1Skiyoharafile-system	CODA		# Coda File System; also needs vcoda (below)
1031.1Skiyoharafile-system	PTYFS		# /dev/ptm support
1041.1Skiyohara#file-system	UDF		# experimental - OSTA UDF CD/DVD file-system
1051.1Skiyohara#file-system	HFS		# experimental - Apple HFS+ (read-only)
1061.1Skiyohara#file-system	NILFS		# experimental - NTT's NiLFS(2)
1071.1Skiyohara
1081.1Skiyohara# File system options
1091.21Ssimonboptions 	FFS_EI		# FFS Endian Independent support
1101.21Ssimonb#options 	FFS_NO_SNAPSHOT	# No FFS snapshot support
1111.1Skiyoharaoptions 	QUOTA		# legacy UFS quotas
1121.1Skiyoharaoptions 	QUOTA2		# new, in-filesystem UFS quotas
1131.21Ssimonboptions 	UFS_DIRHASH	# UFS Large Directory Hashing
1141.21Ssimonboptions 	UFS_EXTATTR	# Extended attribute support for UFS1
1151.1Skiyoharaoptions 	WAPBL		# File system journaling support
1161.21Ssimonboptions 	LFS_DIRHASH	# LFS version of UFS_DIRHASH - experimental
1171.1Skiyohara#options 	EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and
1181.1Skiyohara				# immutable) behave as system flags.
1191.21Ssimonb#options 	DISKLABEL_EI	# disklabel Endian Independent support
1201.21Ssimonboptions 	NFSSERVER	# Network File System server
1211.1Skiyohara
1221.1Skiyohara# Networking options
1231.1Skiyohara#options 	GATEWAY		# packet forwarding
1241.1Skiyoharaoptions 	INET		# IP + ICMP + TCP + UDP
1251.1Skiyoharaoptions 	INET6		# IPv6
1261.1Skiyoharaoptions 	IPSEC		# IP security
1271.1Skiyohara#options 	IPSEC_DEBUG	# debug for IP security
1281.1Skiyohara#options 	MPLS		# MultiProtocol Label Switching (needs ifmpls)
1291.1Skiyohara#options 	MROUTING	# IP multicast routing
1301.1Skiyohara#options 	PIM		# Protocol Independent Multicast
1311.1Skiyoharaoptions 	NETATALK	# AppleTalk networking protocols
1321.1Skiyoharaoptions 	PPP_BSDCOMP	# BSD-Compress compression support for PPP
1331.1Skiyoharaoptions 	PPP_DEFLATE	# Deflate compression support for PPP
1341.1Skiyoharaoptions 	PPP_FILTER	# Active filter support for PPP (requires bpf)
1351.1Skiyohara#options 	TCP_DEBUG	# Record last TCP_NDEBUG packets with SO_DEBUG
1361.1Skiyohara
1371.1Skiyohara#options 	ALTQ		# Manipulate network interfaces' output queues
1381.1Skiyohara#options 	ALTQ_BLUE	# Stochastic Fair Blue
1391.1Skiyohara#options 	ALTQ_CBQ	# Class-Based Queueing
1401.1Skiyohara#options 	ALTQ_CDNR	# Diffserv Traffic Conditioner
1411.1Skiyohara#options 	ALTQ_FIFOQ	# First-In First-Out Queue
1421.1Skiyohara#options 	ALTQ_FLOWVALVE	# RED/flow-valve (red-penalty-box)
1431.1Skiyohara#options 	ALTQ_HFSC	# Hierarchical Fair Service Curve
1441.1Skiyohara#options 	ALTQ_LOCALQ	# Local queueing discipline
1451.1Skiyohara#options 	ALTQ_PRIQ	# Priority Queueing
1461.1Skiyohara#options 	ALTQ_RED	# Random Early Detection
1471.1Skiyohara#options 	ALTQ_RIO	# RED with IN/OUT
1481.1Skiyohara#options 	ALTQ_WFQ	# Weighted Fair Queueing
1491.1Skiyohara
1501.1Skiyohara# Device options
1511.1Skiyohara
1521.1Skiyohara# These options enable verbose messages for several subsystems.
1531.1Skiyohara# Warning, these may compile large string tables into the kernel!
1541.1Skiyoharaoptions 	MIIVERBOSE	# verbose PHY autoconfig messages
1551.1Skiyohara#options 	PCIVERBOSE	# verbose PCI device autoconfig messages
1561.1Skiyohara#options 	PCI_CONFIG_DUMP	# verbosely dump PCI config space
1571.1Skiyohara#options 	PCMCIAVERBOSE	# verbose PCMCIA configuration messages
1581.1Skiyohara#options 	SCSIVERBOSE	# Verbose SCSI errors
1591.1Skiyohara#options 	USBVERBOSE	# verbose USB device autoconfig messages
1601.1Skiyohara
1611.1Skiyohara# Kernel root file system and dump configuration.
1621.1Skiyoharaconfig		netbsd	root on ? type ?
1631.1Skiyohara
1641.1Skiyoharaoptions 		NFS_BOOT_BOOTP
1651.1Skiyoharaoptions 		NFS_BOOT_DHCP
1661.1Skiyohara#options 		NFS_BOOT_BOOTPARAM
1671.1Skiyohara#options 		NFS_BOOT_BOOTSTATIC
1681.1Skiyohara#options 		NFS_BOOTSTATIC_MYIP="\"192.168.0.2\""
1691.1Skiyohara#options 		NFS_BOOTSTATIC_GWIP="\"192.168.0.1\""
1701.1Skiyohara#options 		NFS_BOOTSTATIC_MASK="\"255.255.255.0\""
1711.1Skiyohara#options 		NFS_BOOTSTATIC_SERVADDR="\"192.168.0.3\""
1721.1Skiyohara#options 		NFS_BOOTSTATIC_SERVER="\"192.168.0.3:/nfs/cubox\""
1731.1Skiyohara
1741.1Skiyohara
1751.1Skiyohara#
1761.1Skiyohara# Device configuration
1771.1Skiyohara#
1781.1Skiyohara
1791.1Skiyoharamainbus0	at root
1801.1Skiyohara
1811.1Skiyoharacpu*		at mainbus?
1821.1Skiyohara
1831.1Skiyohara# Marvell 88AP510 Dove System-on-chip
1841.1Skiyoharamvsoc0  at mainbus?
1851.1Skiyohara#options 	MVSOC_CONSOLE_EARLY
1861.1Skiyohara
1871.1Skiyohara# On-chip Power Management Unit
1881.1Skiyoharamvsocpmu* at mvsoc? offset ? irq ?
1891.1Skiyohara
1901.1Skiyohara# On-chip Gigabit Ethernet Controller
1911.1Skiyoharamvgbec* at mvsoc? offset ?
1921.1Skiyoharamvgbe*	at mvgbec? port ? irq ?
1931.1Skiyohara
1941.1Skiyohara# MII/PHY support
1951.1Skiyoharamakphy* at mii? phy ?
1961.1Skiyohara
1971.1Skiyohara# On-chip Cryptographic Engines and Security Accelerator (CESA)
1981.1Skiyoharamvcesa* at mvsoc? offset ? irq ?
1991.1Skiyohara
2001.1Skiyohara# On-chip XOR DMA Engine
2011.1Skiyoharagtidmac* at mvsoc? offset ? irq ?
2021.1Skiyohara
2031.1Skiyohara# On-chip PCI Express Interface
2041.1Skiyoharamvpex*	at mvsoc? offset ? irq ?
2051.1Skiyoharapci*	at mvpex?
2061.1Skiyohara
2071.1Skiyohara# PCI bus support
2081.1Skiyoharaoptions 	PCI_NETBSD_CONFIGURE
2091.1Skiyohara#options 	PCI_CONFIG_DUMP		# verbosely dump PCI config space
2101.1Skiyohara
2111.1Skiyoharapchb*	at pci? dev ? function ?	# PCI-Host bridges
2121.1Skiyohara
2131.1Skiyohara# On-chip Serial-ATA (SATA) II Interface
2141.1Skiyoharamvsata* at mvsoc? offset ? irq ?
2151.1Skiyohara
2161.1Skiyohara# ATA (IDE) bus support
2171.1Skiyoharaatabus* at ata?
2181.1Skiyohara#options 	ATADEBUG
2191.1Skiyohara
2201.1Skiyohara# IDE drives
2211.1Skiyoharawd*	at atabus? drive ? flags 0x0000
2221.1Skiyohara
2231.1Skiyohara# On-chip USB 2.0 Interface
2241.1Skiyoharaehci*	at mvsoc? offset ? irq ?
2251.1Skiyohara
2261.1Skiyohara# On-chip Secure Digital Input/Output Host Controller
2271.1Skiyoharasdhc*	at mvsoc? offset ? irq ?
2281.1Skiyoharasdmmc*	at sdhc?
2291.1Skiyohara
2301.1Skiyoharald*	at sdmmc?
2311.1Skiyohara
2321.1Skiyohara# On-chip Serial Peripheral Interface (SPI)
2331.1Skiyoharamvspi*	at mvsoc? offset ? irq ?
2341.1Skiyoharaspi*	at mvspi?
2351.1Skiyohara
2361.1Skiyoharam25p0	at spi? slave 0
2371.1Skiyoharaspiflash0 at spiflashbus?
2381.1Skiyohara
2391.1Skiyohara# On-chip Two-Wire Serial Interface (TWSI)
2401.1Skiyoharagttwsi* at mvsoc? offset ? irq ?
2411.1Skiyoharaiic*	at gttwsi?
2421.1Skiyohara
2431.7Sthorpej#TDA998x at iic? addr 0x34 # HDMI transmitters
2441.7Sthorpej#Si5351A at iic? addr 0x60 # Programmable Any-Frequency CMOS Clock Generator
2451.7Sthorpej#lcdc at iic? addr 0x70
2461.1Skiyohara
2471.1Skiyohara# On-chip UART Interface
2481.1Skiyoharacom*	at mvsoc? offset ? irq ?
2491.1Skiyohara
2501.1Skiyohara# On-chip Real Time Clock (RTC)
2511.1Skiyoharamvsocrtc* at mvsoc? offset ? irq ?
2521.1Skiyohara
2531.1Skiyohara# On-chip Timers
2541.1Skiyoharamvsoctmr* at mvsoc? offset ? irq ?
2551.1Skiyohara
2561.1Skiyohara
2571.1Skiyohara# USB bus support
2581.1Skiyoharausb*	at ehci?
2591.1Skiyohara
2601.1Skiyohara# USB Hubs
2611.1Skiyoharauhub*	at usb?
2621.1Skiyoharauhub*	at uhub? port ?
2631.1Skiyohara
2641.1Skiyohara# USB HID device
2651.1Skiyoharauhidev* at uhub? port ? configuration ? interface ?
2661.1Skiyohara
2671.1Skiyohara# USB Mice
2681.1Skiyoharaums*	at uhidev? reportid ?
2691.1Skiyoharawsmouse* at ums? mux 0
2701.1Skiyohara
2711.1Skiyohara# USB Keyboards
2721.1Skiyoharaukbd*	at uhidev? reportid ?
2731.1Skiyoharawskbd*	at ukbd? console ? mux 1
2741.1Skiyohara
2751.1Skiyohara# USB Mass Storage
2761.1Skiyoharaumass*	at uhub? port ? configuration ? interface ?
2771.1Skiyoharascsibus* at scsi?
2781.1Skiyoharasd*	at scsibus? target ? lun ?	# SCSI disk drives
2791.1Skiyoharacd*	at scsibus? target ? lun ?	# SCSI CD-ROM drives
2801.1Skiyohara
2811.1Skiyohara# Serial adapters
2821.1Skiyoharauftdi*	at uhub? port ?		# FTDI FT8U100AX serial adapter
2831.1Skiyoharaucom*	at uftdi? portno ?
2841.1Skiyohara
2851.1Skiyoharauplcom* at uhub? port ? 	# I/O DATA USB-RSAQ2 serial adapter
2861.1Skiyoharaucom*	at uplcom? portno ?
2871.1Skiyohara
2881.1Skiyohara# USB Generic driver
2891.1Skiyoharaugen*	at uhub? port ?
2901.1Skiyohara
2911.1Skiyohara
2921.1Skiyohara# Pseudo-Devices
2931.1Skiyohara
2941.1Skiyoharapseudo-device	crypto			# /dev/crypto device
2951.1Skiyoharapseudo-device	swcrypto		# software crypto implementation
2961.1Skiyohara
2971.1Skiyohara# disk/mass storage pseudo-devices
2981.1Skiyoharapseudo-device	bio			# RAID control device driver
2991.1Skiyoharapseudo-device	ccd			# concatenated/striped disk devices
3001.1Skiyoharapseudo-device	cgd			# cryptographic disk devices
3011.1Skiyoharapseudo-device	raid			# RAIDframe disk driver
3021.1Skiyohara#options 	RAID_AUTOCONFIG		# auto-configuration of RAID components
3031.1Skiyohara#Options to enable various other RAIDframe RAID types.
3041.1Skiyohara#options	RF_INCLUDE_EVENODD=1
3051.1Skiyohara#options	RF_INCLUDE_RAID5_RS=1
3061.1Skiyohara#options	RF_INCLUDE_PARITYLOGGING=1
3071.1Skiyohara#options	RF_INCLUDE_CHAINDECLUSTER=1
3081.1Skiyohara#options	RF_INCLUDE_INTERDECLUSTER=1
3091.1Skiyohara#options	RF_INCLUDE_PARITY_DECLUSTERING=1
3101.1Skiyohara#options	RF_INCLUDE_PARITY_DECLUSTERING_DS=1
3111.1Skiyoharapseudo-device	fss			# file system snapshot device
3121.1Skiyoharapseudo-device	putter			# for puffs and pud
3131.1Skiyohara
3141.1Skiyoharapseudo-device	vnd			# disk-like interface to files
3151.1Skiyoharaoptions 	VND_COMPRESSION		# compressed vnd(4)
3161.1Skiyohara
3171.1Skiyohara
3181.1Skiyohara# network pseudo-devices
3191.1Skiyoharapseudo-device	bpfilter		# Berkeley packet filter
3201.1Skiyohara#pseudo-device	carp			# Common Address Redundancy Protocol
3211.11Smaxv#pseudo-device	npf			# NPF packet filter
3221.1Skiyoharapseudo-device	loop			# network loopback
3231.1Skiyohara#pseudo-device	ifmpls			# MPLS pseudo-interface
3241.1Skiyoharapseudo-device	ppp			# Point-to-Point Protocol
3251.1Skiyoharapseudo-device	pppoe			# PPP over Ethernet (RFC 2516)
3261.1Skiyoharapseudo-device	sl			# Serial Line IP
3271.1Skiyoharapseudo-device	irframetty		# IrDA frame line discipline
3281.1Skiyoharapseudo-device	tun			# network tunneling over tty
3291.1Skiyoharapseudo-device	tap			# virtual Ethernet
3301.1Skiyoharapseudo-device	gre			# generic L3 over IP tunnel
3311.1Skiyoharapseudo-device	gif			# IPv[46] over IPv[46] tunnel (RFC1933)
3321.1Skiyohara#pseudo-device	faith			# IPv[46] tcp relay translation i/f
3331.1Skiyoharapseudo-device	stf			# 6to4 IPv6 over IPv4 encapsulation
3341.1Skiyoharapseudo-device	vlan			# IEEE 802.1q encapsulation
3351.1Skiyoharapseudo-device	bridge			# simple inter-network bridging
3361.19Sroypseudo-device	vether			# Virtual Ethernet for bridge
3371.1Skiyoharapseudo-device	agr			# IEEE 802.3ad link aggregation
3381.1Skiyohara#pseudo-device	npf			# NPF packet filter
3391.1Skiyohara
3401.1Skiyohara#
3411.1Skiyohara# accept filters
3421.1Skiyoharapseudo-device	accf_data		# "dataready" accept filter
3431.1Skiyoharapseudo-device	accf_http		# "httpready" accept filter
3441.1Skiyohara
3451.1Skiyohara# miscellaneous pseudo-devices
3461.1Skiyoharapseudo-device	pty			# pseudo-terminals
3471.22Sandvar#pseudo-device	sequencer		# MIDI sequencer
3481.1Skiyohara#options 	RND_COM			# use "com" randomness as well (BROKEN)
3491.1Skiyoharapseudo-device	clockctl		# user control of clock subsystem
3501.1Skiyoharapseudo-device	ksyms			# /dev/ksyms
3511.1Skiyohara
3521.1Skiyohara# a pseudo device needed for Coda	# also needs CODA (above)
3531.1Skiyoharapseudo-device	vcoda			# coda minicache <-> venus comm.
3541.1Skiyohara
3551.1Skiyohara# wscons pseudo-devices
3561.1Skiyoharapseudo-device	wsmux			# mouse & keyboard multiplexor
3571.1Skiyoharapseudo-device	wsfont
3581.1Skiyohara
3591.1Skiyohara# pseudo audio device driver
3601.1Skiyohara#pseudo-device	pad
3611.1Skiyohara
3621.1Skiyohara# userland interface to drivers, including autoconf and properties retrieval
3631.1Skiyoharapseudo-device	drvctl
3641.1Skiyohara
3651.1Skiyohara# Veriexec
3661.14Ssevaninclude "dev/veriexec.config"
3671.1Skiyohara
3681.1Skiyoharaoptions 	PAX_MPROTECT=0		# PaX mprotect(2) restrictions
3691.1Skiyoharaoptions 	PAX_ASLR=0		# PaX Address Space Layout Randomization
370