11.23Schristos# $NetBSD: CUBOX,v 1.23 2024/01/29 18:27:11 christos 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.21Ssimonb#options 	DISKLABEL_EI	# disklabel Endian Independent support
1181.21Ssimonboptions 	NFSSERVER	# Network File System server
1191.1Skiyohara
1201.1Skiyohara# Networking options
1211.1Skiyohara#options 	GATEWAY		# packet forwarding
1221.1Skiyoharaoptions 	INET		# IP + ICMP + TCP + UDP
1231.1Skiyoharaoptions 	INET6		# IPv6
1241.1Skiyoharaoptions 	IPSEC		# IP security
1251.1Skiyohara#options 	IPSEC_DEBUG	# debug for IP security
1261.1Skiyohara#options 	MPLS		# MultiProtocol Label Switching (needs ifmpls)
1271.1Skiyohara#options 	MROUTING	# IP multicast routing
1281.1Skiyohara#options 	PIM		# Protocol Independent Multicast
1291.1Skiyoharaoptions 	NETATALK	# AppleTalk networking protocols
1301.1Skiyoharaoptions 	PPP_BSDCOMP	# BSD-Compress compression support for PPP
1311.1Skiyoharaoptions 	PPP_DEFLATE	# Deflate compression support for PPP
1321.1Skiyoharaoptions 	PPP_FILTER	# Active filter support for PPP (requires bpf)
1331.1Skiyohara#options 	TCP_DEBUG	# Record last TCP_NDEBUG packets with SO_DEBUG
1341.1Skiyohara
1351.1Skiyohara#options 	ALTQ		# Manipulate network interfaces' output queues
1361.1Skiyohara#options 	ALTQ_BLUE	# Stochastic Fair Blue
1371.1Skiyohara#options 	ALTQ_CBQ	# Class-Based Queueing
1381.1Skiyohara#options 	ALTQ_CDNR	# Diffserv Traffic Conditioner
1391.1Skiyohara#options 	ALTQ_FIFOQ	# First-In First-Out Queue
1401.1Skiyohara#options 	ALTQ_FLOWVALVE	# RED/flow-valve (red-penalty-box)
1411.1Skiyohara#options 	ALTQ_HFSC	# Hierarchical Fair Service Curve
1421.1Skiyohara#options 	ALTQ_LOCALQ	# Local queueing discipline
1431.1Skiyohara#options 	ALTQ_PRIQ	# Priority Queueing
1441.1Skiyohara#options 	ALTQ_RED	# Random Early Detection
1451.1Skiyohara#options 	ALTQ_RIO	# RED with IN/OUT
1461.1Skiyohara#options 	ALTQ_WFQ	# Weighted Fair Queueing
1471.1Skiyohara
1481.1Skiyohara# Device options
1491.1Skiyohara
1501.1Skiyohara# These options enable verbose messages for several subsystems.
1511.1Skiyohara# Warning, these may compile large string tables into the kernel!
1521.1Skiyoharaoptions 	MIIVERBOSE	# verbose PHY autoconfig messages
1531.1Skiyohara#options 	PCIVERBOSE	# verbose PCI device autoconfig messages
1541.1Skiyohara#options 	PCI_CONFIG_DUMP	# verbosely dump PCI config space
1551.1Skiyohara#options 	PCMCIAVERBOSE	# verbose PCMCIA configuration messages
1561.1Skiyohara#options 	SCSIVERBOSE	# Verbose SCSI errors
1571.1Skiyohara#options 	USBVERBOSE	# verbose USB device autoconfig messages
1581.1Skiyohara
1591.1Skiyohara# Kernel root file system and dump configuration.
1601.1Skiyoharaconfig		netbsd	root on ? type ?
1611.1Skiyohara
1621.1Skiyoharaoptions 		NFS_BOOT_BOOTP
1631.1Skiyoharaoptions 		NFS_BOOT_DHCP
1641.1Skiyohara#options 		NFS_BOOT_BOOTPARAM
1651.1Skiyohara#options 		NFS_BOOT_BOOTSTATIC
1661.1Skiyohara#options 		NFS_BOOTSTATIC_MYIP="\"192.168.0.2\""
1671.1Skiyohara#options 		NFS_BOOTSTATIC_GWIP="\"192.168.0.1\""
1681.1Skiyohara#options 		NFS_BOOTSTATIC_MASK="\"255.255.255.0\""
1691.1Skiyohara#options 		NFS_BOOTSTATIC_SERVADDR="\"192.168.0.3\""
1701.1Skiyohara#options 		NFS_BOOTSTATIC_SERVER="\"192.168.0.3:/nfs/cubox\""
1711.1Skiyohara
1721.1Skiyohara
1731.1Skiyohara#
1741.1Skiyohara# Device configuration
1751.1Skiyohara#
1761.1Skiyohara
1771.1Skiyoharamainbus0	at root
1781.1Skiyohara
1791.1Skiyoharacpu*		at mainbus?
1801.1Skiyohara
1811.1Skiyohara# Marvell 88AP510 Dove System-on-chip
1821.1Skiyoharamvsoc0  at mainbus?
1831.1Skiyohara#options 	MVSOC_CONSOLE_EARLY
1841.1Skiyohara
1851.1Skiyohara# On-chip Power Management Unit
1861.1Skiyoharamvsocpmu* at mvsoc? offset ? irq ?
1871.1Skiyohara
1881.1Skiyohara# On-chip Gigabit Ethernet Controller
1891.1Skiyoharamvgbec* at mvsoc? offset ?
1901.1Skiyoharamvgbe*	at mvgbec? port ? irq ?
1911.1Skiyohara
1921.1Skiyohara# MII/PHY support
1931.1Skiyoharamakphy* at mii? phy ?
1941.1Skiyohara
1951.1Skiyohara# On-chip Cryptographic Engines and Security Accelerator (CESA)
1961.1Skiyoharamvcesa* at mvsoc? offset ? irq ?
1971.1Skiyohara
1981.1Skiyohara# On-chip XOR DMA Engine
1991.1Skiyoharagtidmac* at mvsoc? offset ? irq ?
2001.1Skiyohara
2011.1Skiyohara# On-chip PCI Express Interface
2021.1Skiyoharamvpex*	at mvsoc? offset ? irq ?
2031.1Skiyoharapci*	at mvpex?
2041.1Skiyohara
2051.1Skiyohara# PCI bus support
2061.1Skiyoharaoptions 	PCI_NETBSD_CONFIGURE
2071.1Skiyohara#options 	PCI_CONFIG_DUMP		# verbosely dump PCI config space
2081.1Skiyohara
2091.1Skiyoharapchb*	at pci? dev ? function ?	# PCI-Host bridges
2101.1Skiyohara
2111.1Skiyohara# On-chip Serial-ATA (SATA) II Interface
2121.1Skiyoharamvsata* at mvsoc? offset ? irq ?
2131.1Skiyohara
2141.1Skiyohara# ATA (IDE) bus support
2151.1Skiyoharaatabus* at ata?
2161.1Skiyohara#options 	ATADEBUG
2171.1Skiyohara
2181.1Skiyohara# IDE drives
2191.1Skiyoharawd*	at atabus? drive ? flags 0x0000
2201.1Skiyohara
2211.1Skiyohara# On-chip USB 2.0 Interface
2221.1Skiyoharaehci*	at mvsoc? offset ? irq ?
2231.1Skiyohara
2241.1Skiyohara# On-chip Secure Digital Input/Output Host Controller
2251.1Skiyoharasdhc*	at mvsoc? offset ? irq ?
2261.1Skiyoharasdmmc*	at sdhc?
2271.1Skiyohara
2281.1Skiyoharald*	at sdmmc?
2291.1Skiyohara
2301.1Skiyohara# On-chip Serial Peripheral Interface (SPI)
2311.1Skiyoharamvspi*	at mvsoc? offset ? irq ?
2321.1Skiyoharaspi*	at mvspi?
2331.1Skiyohara
2341.1Skiyoharam25p0	at spi? slave 0
2351.1Skiyoharaspiflash0 at spiflashbus?
2361.1Skiyohara
2371.1Skiyohara# On-chip Two-Wire Serial Interface (TWSI)
2381.1Skiyoharagttwsi* at mvsoc? offset ? irq ?
2391.1Skiyoharaiic*	at gttwsi?
2401.1Skiyohara
2411.7Sthorpej#TDA998x at iic? addr 0x34 # HDMI transmitters
2421.7Sthorpej#Si5351A at iic? addr 0x60 # Programmable Any-Frequency CMOS Clock Generator
2431.7Sthorpej#lcdc at iic? addr 0x70
2441.1Skiyohara
2451.1Skiyohara# On-chip UART Interface
2461.1Skiyoharacom*	at mvsoc? offset ? irq ?
2471.1Skiyohara
2481.1Skiyohara# On-chip Real Time Clock (RTC)
2491.1Skiyoharamvsocrtc* at mvsoc? offset ? irq ?
2501.1Skiyohara
2511.1Skiyohara# On-chip Timers
2521.1Skiyoharamvsoctmr* at mvsoc? offset ? irq ?
2531.1Skiyohara
2541.1Skiyohara
2551.1Skiyohara# USB bus support
2561.1Skiyoharausb*	at ehci?
2571.1Skiyohara
2581.1Skiyohara# USB Hubs
2591.1Skiyoharauhub*	at usb?
2601.1Skiyoharauhub*	at uhub? port ?
2611.1Skiyohara
2621.1Skiyohara# USB HID device
2631.1Skiyoharauhidev* at uhub? port ? configuration ? interface ?
2641.1Skiyohara
2651.1Skiyohara# USB Mice
2661.1Skiyoharaums*	at uhidev? reportid ?
2671.1Skiyoharawsmouse* at ums? mux 0
2681.1Skiyohara
2691.1Skiyohara# USB Keyboards
2701.1Skiyoharaukbd*	at uhidev? reportid ?
2711.1Skiyoharawskbd*	at ukbd? console ? mux 1
2721.1Skiyohara
2731.1Skiyohara# USB Mass Storage
2741.1Skiyoharaumass*	at uhub? port ? configuration ? interface ?
2751.1Skiyoharascsibus* at scsi?
2761.1Skiyoharasd*	at scsibus? target ? lun ?	# SCSI disk drives
2771.1Skiyoharacd*	at scsibus? target ? lun ?	# SCSI CD-ROM drives
2781.1Skiyohara
2791.1Skiyohara# Serial adapters
2801.1Skiyoharauftdi*	at uhub? port ?		# FTDI FT8U100AX serial adapter
2811.1Skiyoharaucom*	at uftdi? portno ?
2821.1Skiyohara
2831.1Skiyoharauplcom* at uhub? port ? 	# I/O DATA USB-RSAQ2 serial adapter
2841.1Skiyoharaucom*	at uplcom? portno ?
2851.1Skiyohara
2861.1Skiyohara# USB Generic driver
2871.1Skiyoharaugen*	at uhub? port ?
2881.1Skiyohara
2891.1Skiyohara
2901.1Skiyohara# Pseudo-Devices
2911.1Skiyohara
2921.1Skiyoharapseudo-device	crypto			# /dev/crypto device
2931.1Skiyoharapseudo-device	swcrypto		# software crypto implementation
2941.1Skiyohara
2951.1Skiyohara# disk/mass storage pseudo-devices
2961.1Skiyoharapseudo-device	bio			# RAID control device driver
2971.1Skiyoharapseudo-device	ccd			# concatenated/striped disk devices
2981.1Skiyoharapseudo-device	cgd			# cryptographic disk devices
2991.1Skiyoharapseudo-device	raid			# RAIDframe disk driver
3001.1Skiyohara#options 	RAID_AUTOCONFIG		# auto-configuration of RAID components
3011.1Skiyohara#Options to enable various other RAIDframe RAID types.
3021.1Skiyohara#options	RF_INCLUDE_EVENODD=1
3031.1Skiyohara#options	RF_INCLUDE_RAID5_RS=1
3041.1Skiyohara#options	RF_INCLUDE_PARITYLOGGING=1
3051.1Skiyohara#options	RF_INCLUDE_CHAINDECLUSTER=1
3061.1Skiyohara#options	RF_INCLUDE_INTERDECLUSTER=1
3071.1Skiyohara#options	RF_INCLUDE_PARITY_DECLUSTERING=1
3081.1Skiyohara#options	RF_INCLUDE_PARITY_DECLUSTERING_DS=1
3091.1Skiyoharapseudo-device	fss			# file system snapshot device
3101.1Skiyoharapseudo-device	putter			# for puffs and pud
3111.1Skiyohara
3121.1Skiyoharapseudo-device	vnd			# disk-like interface to files
3131.1Skiyoharaoptions 	VND_COMPRESSION		# compressed vnd(4)
3141.1Skiyohara
3151.1Skiyohara
3161.1Skiyohara# network pseudo-devices
3171.1Skiyoharapseudo-device	bpfilter		# Berkeley packet filter
3181.1Skiyohara#pseudo-device	carp			# Common Address Redundancy Protocol
3191.11Smaxv#pseudo-device	npf			# NPF packet filter
3201.1Skiyoharapseudo-device	loop			# network loopback
3211.1Skiyohara#pseudo-device	ifmpls			# MPLS pseudo-interface
3221.1Skiyoharapseudo-device	ppp			# Point-to-Point Protocol
3231.1Skiyoharapseudo-device	pppoe			# PPP over Ethernet (RFC 2516)
3241.1Skiyoharapseudo-device	sl			# Serial Line IP
3251.1Skiyoharapseudo-device	irframetty		# IrDA frame line discipline
3261.1Skiyoharapseudo-device	tun			# network tunneling over tty
3271.1Skiyoharapseudo-device	tap			# virtual Ethernet
3281.1Skiyoharapseudo-device	gre			# generic L3 over IP tunnel
3291.1Skiyoharapseudo-device	gif			# IPv[46] over IPv[46] tunnel (RFC1933)
3301.1Skiyohara#pseudo-device	faith			# IPv[46] tcp relay translation i/f
3311.1Skiyoharapseudo-device	stf			# 6to4 IPv6 over IPv4 encapsulation
3321.1Skiyoharapseudo-device	vlan			# IEEE 802.1q encapsulation
3331.1Skiyoharapseudo-device	bridge			# simple inter-network bridging
3341.19Sroypseudo-device	vether			# Virtual Ethernet for bridge
3351.1Skiyoharapseudo-device	agr			# IEEE 802.3ad link aggregation
3361.1Skiyohara#pseudo-device	npf			# NPF packet filter
3371.1Skiyohara
3381.1Skiyohara#
3391.1Skiyohara# accept filters
3401.1Skiyoharapseudo-device	accf_data		# "dataready" accept filter
3411.1Skiyoharapseudo-device	accf_http		# "httpready" accept filter
3421.1Skiyohara
3431.1Skiyohara# miscellaneous pseudo-devices
3441.1Skiyoharapseudo-device	pty			# pseudo-terminals
3451.22Sandvar#pseudo-device	sequencer		# MIDI sequencer
3461.1Skiyohara#options 	RND_COM			# use "com" randomness as well (BROKEN)
3471.1Skiyoharapseudo-device	clockctl		# user control of clock subsystem
3481.1Skiyoharapseudo-device	ksyms			# /dev/ksyms
3491.1Skiyohara
3501.1Skiyohara# a pseudo device needed for Coda	# also needs CODA (above)
3511.1Skiyoharapseudo-device	vcoda			# coda minicache <-> venus comm.
3521.1Skiyohara
3531.1Skiyohara# wscons pseudo-devices
3541.1Skiyoharapseudo-device	wsmux			# mouse & keyboard multiplexor
3551.1Skiyoharapseudo-device	wsfont
3561.1Skiyohara
3571.1Skiyohara# pseudo audio device driver
3581.1Skiyohara#pseudo-device	pad
3591.1Skiyohara
3601.1Skiyohara# userland interface to drivers, including autoconf and properties retrieval
3611.1Skiyoharapseudo-device	drvctl
3621.1Skiyohara
3631.1Skiyohara# Veriexec
3641.14Ssevaninclude "dev/veriexec.config"
3651.1Skiyohara
3661.1Skiyoharaoptions 	PAX_MPROTECT=0		# PaX mprotect(2) restrictions
3671.1Skiyoharaoptions 	PAX_ASLR=0		# PaX Address Space Layout Randomization
368