CUBOX revision 1.17
1# $NetBSD: CUBOX,v 1.17 2020/04/18 11:00:38 skrll Exp $
2#
3#	CUBOX -- SolidRun Ltd. Cubox kernel
4#
5
6include	"arch/evbarm/conf/std.marvell"
7
8#options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
9
10# estimated number of users
11
12maxusers	32
13
14# Board Type
15makeoptions	BOARDTYPE="cubox"
16options 	EVBARM_BOARDTYPE=cubox
17
18# CPU options
19options 	CPU_PJ4B	# XXXX: CPU is PJ4
20options 	ARM_HAS_VBAR
21options 	FPU_VFP
22makeoptions	CPUFLAGS="-march=armv7-a -mfpu=vfpv3"
23
24# Marvell SoC options
25options 	DOVE
26
27# Standard system options
28
29options 	INSECURE	# disable kernel security levels - X needs this
30
31options 	RTC_OFFSET=0	# hardware clock is this many mins. west of GMT
32#options 	NTP		# NTP phase/frequency locked loop
33options 	KTRACE		# system call tracing via ktrace(1)
34
35# Note: SysV IPC parameters can be changed dynamically; see sysctl(8).
36options 	SYSVMSG		# System V-like message queues
37options 	SYSVSEM		# System V-like semaphores
38options 	SYSVSHM		# System V-like memory sharing
39
40#options 	USERCONF	# userconf(4) support
41#options 	PIPE_SOCKETPAIR	# smaller, but slower pipe(2)
42options 	SYSCTL_INCLUDE_DESCR	# Include sysctl descriptions in kernel
43
44# Alternate buffer queue strategies for better responsiveness under high
45# disk I/O load.
46#options 	BUFQ_READPRIO
47options 	BUFQ_PRIOCSCAN
48
49# Diagnostic/debugging support options
50#options 	VERBOSE_INIT_ARM # verbose bootstraping messages
51options 	DIAGNOSTIC	# internally consistency checks
52
53#options 	DEBUG
54#options 	UVMHIST		# kernhist for uvm/pmap subsystems
55options 	LOCKDEBUG	# expensive locking checks/support
56options 	IRQSTATS	# manage IRQ statistics
57#options 	NO_POWERSAVE	# uncomment this to run under ICE
58
59#makeoptions	COPTS="-O2"
60options 	DDB			# in-kernel debugger
61#options 	DDB_KEYCODE=0x1d	# ^]
62#options 	DDB_COMMANDONENTER="bt"	# execute command when ddb is entered
63options 	DDB_ONPANIC=1		# see also sysctl(7): `ddb.onpanic'
64options 	DDB_HISTORY_SIZE=100	# Enable history editing in DDB
65options 	DDB_VERBOSE_HELP
66#options	KGDB
67#options 	KGDB_DEVRATE=115200
68makeoptions	DEBUG="-g"		# compile full symbol table
69makeoptions	COPY_SYMTAB=1
70#options 	SYSCALL_STATS			# per syscall counts
71#options 	SYSCALL_TIMES			# per syscall times
72#options 	SYSCALL_TIMES_HASCOUNTER	# use 'broken' rdtsc (soekris)
73
74
75# Compatibility options
76
77include 	"conf/compat_netbsd60.config"
78options 	COMPAT_NETBSD32	# allow running arm (e.g. non-earm) binaries
79
80options 	COMPAT_OSSAUDIO	# OSS (Voxware) audio driver compatibility
81
82# Wedge support
83options 	DKWEDGE_AUTODISCOVER	# Automatically add dk(4) instances
84options 	DKWEDGE_METHOD_GPT	# Supports GPT partitions as wedges
85
86# File systems
87file-system	FFS		# UFS
88file-system	MFS		# memory file system
89file-system	NFS		# Network File System client
90file-system	TMPFS		# Efficient memory file-system
91file-system	EXT2FS		# second extended file system (linux)
92file-system	LFS		# log-structured file system
93file-system	NTFS		# Windows/NT file system (experimental)
94file-system	CD9660		# ISO 9660 + Rock Ridge file system
95file-system	MSDOSFS		# MS-DOS file system
96file-system	FDESC		# /dev/fd
97file-system	KERNFS		# /kern
98file-system	NULLFS		# loopback file system
99file-system	OVERLAY		# overlay file system
100file-system	PROCFS		# /proc
101file-system	PUFFS		# Userspace file systems (e.g. ntfs-3g & sshfs)
102file-system	UMAPFS		# NULLFS + uid and gid remapping
103file-system	UNION		# union file system
104file-system	CODA		# Coda File System; also needs vcoda (below)
105file-system	PTYFS		# /dev/ptm support
106#file-system	UDF		# experimental - OSTA UDF CD/DVD file-system
107#file-system	HFS		# experimental - Apple HFS+ (read-only)
108#file-system	NILFS		# experimental - NTT's NiLFS(2)
109
110# File system options
111options 	QUOTA		# legacy UFS quotas
112options 	QUOTA2		# new, in-filesystem UFS quotas
113#options 	DISKLABEL_EI	# disklabel Endian Independent support
114options 	FFS_EI		# FFS Endian Independent support
115options 	WAPBL		# File system journaling support
116# Note that UFS_DIRHASH is suspected of causing kernel memory corruption.
117# It is not recommended for general use.
118#options 	UFS_DIRHASH	# UFS Large Directory Hashing - Experimental
119options 	NFSSERVER	# Network File System server
120#options 	EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and
121				# immutable) behave as system flags.
122#options 	FFS_NO_SNAPSHOT	# No FFS snapshot support
123
124# Networking options
125#options 	GATEWAY		# packet forwarding
126options 	INET		# IP + ICMP + TCP + UDP
127options 	INET6		# IPv6
128options 	IPSEC		# IP security
129#options 	IPSEC_DEBUG	# debug for IP security
130#options 	MPLS		# MultiProtocol Label Switching (needs ifmpls)
131#options 	MROUTING	# IP multicast routing
132#options 	PIM		# Protocol Independent Multicast
133options 	NETATALK	# AppleTalk networking protocols
134options 	PPP_BSDCOMP	# BSD-Compress compression support for PPP
135options 	PPP_DEFLATE	# Deflate compression support for PPP
136options 	PPP_FILTER	# Active filter support for PPP (requires bpf)
137#options 	TCP_DEBUG	# Record last TCP_NDEBUG packets with SO_DEBUG
138
139#options 	ALTQ		# Manipulate network interfaces' output queues
140#options 	ALTQ_BLUE	# Stochastic Fair Blue
141#options 	ALTQ_CBQ	# Class-Based Queueing
142#options 	ALTQ_CDNR	# Diffserv Traffic Conditioner
143#options 	ALTQ_FIFOQ	# First-In First-Out Queue
144#options 	ALTQ_FLOWVALVE	# RED/flow-valve (red-penalty-box)
145#options 	ALTQ_HFSC	# Hierarchical Fair Service Curve
146#options 	ALTQ_LOCALQ	# Local queueing discipline
147#options 	ALTQ_PRIQ	# Priority Queueing
148#options 	ALTQ_RED	# Random Early Detection
149#options 	ALTQ_RIO	# RED with IN/OUT
150#options 	ALTQ_WFQ	# Weighted Fair Queueing
151
152# Device options
153
154# These options enable verbose messages for several subsystems.
155# Warning, these may compile large string tables into the kernel!
156options 	MIIVERBOSE	# verbose PHY autoconfig messages
157#options 	PCIVERBOSE	# verbose PCI device autoconfig messages
158#options 	PCI_CONFIG_DUMP	# verbosely dump PCI config space
159#options 	PCMCIAVERBOSE	# verbose PCMCIA configuration messages
160#options 	SCSIVERBOSE	# Verbose SCSI errors
161#options 	USBVERBOSE	# verbose USB device autoconfig messages
162
163# Kernel root file system and dump configuration.
164config		netbsd	root on ? type ?
165
166options 		NFS_BOOT_BOOTP
167options 		NFS_BOOT_DHCP
168#options 		NFS_BOOT_BOOTPARAM
169#options 		NFS_BOOT_BOOTSTATIC
170#options 		NFS_BOOTSTATIC_MYIP="\"192.168.0.2\""
171#options 		NFS_BOOTSTATIC_GWIP="\"192.168.0.1\""
172#options 		NFS_BOOTSTATIC_MASK="\"255.255.255.0\""
173#options 		NFS_BOOTSTATIC_SERVADDR="\"192.168.0.3\""
174#options 		NFS_BOOTSTATIC_SERVER="\"192.168.0.3:/nfs/cubox\""
175
176
177#
178# Device configuration
179#
180
181mainbus0	at root
182
183cpu*		at mainbus?
184
185# Marvell 88AP510 Dove System-on-chip
186mvsoc0  at mainbus?
187#options 	MVSOC_CONSOLE_EARLY
188
189# On-chip Power Management Unit
190mvsocpmu* at mvsoc? offset ? irq ?
191
192# On-chip Gigabit Ethernet Controller
193mvgbec* at mvsoc? offset ?
194mvgbe*	at mvgbec? port ? irq ?
195
196# MII/PHY support
197makphy* at mii? phy ?
198
199# On-chip Cryptographic Engines and Security Accelerator (CESA)
200mvcesa* at mvsoc? offset ? irq ?
201
202# On-chip XOR DMA Engine
203gtidmac* at mvsoc? offset ? irq ?
204
205# On-chip PCI Express Interface
206mvpex*	at mvsoc? offset ? irq ?
207pci*	at mvpex?
208
209# PCI bus support
210options 	PCI_NETBSD_CONFIGURE
211#options 	PCI_CONFIG_DUMP		# verbosely dump PCI config space
212
213pchb*	at pci? dev ? function ?	# PCI-Host bridges
214
215# On-chip Serial-ATA (SATA) II Interface
216mvsata* at mvsoc? offset ? irq ?
217
218# ATA (IDE) bus support
219atabus* at ata?
220#options 	ATADEBUG
221
222# IDE drives
223wd*	at atabus? drive ? flags 0x0000
224
225# On-chip USB 2.0 Interface
226ehci*	at mvsoc? offset ? irq ?
227
228# On-chip Secure Digital Input/Output Host Controller
229sdhc*	at mvsoc? offset ? irq ?
230sdmmc*	at sdhc?
231
232ld*	at sdmmc?
233
234# On-chip Serial Peripheral Interface (SPI)
235mvspi*	at mvsoc? offset ? irq ?
236spi*	at mvspi?
237
238m25p0	at spi? slave 0
239spiflash0 at spiflashbus?
240
241# On-chip Two-Wire Serial Interface (TWSI)
242gttwsi* at mvsoc? offset ? irq ?
243iic*	at gttwsi?
244
245#TDA998x at iic? addr 0x34 # HDMI transmitters
246#Si5351A at iic? addr 0x60 # Programmable Any-Frequency CMOS Clock Generator
247#lcdc at iic? addr 0x70
248
249# On-chip UART Interface
250com*	at mvsoc? offset ? irq ?
251
252# On-chip Real Time Clock (RTC)
253mvsocrtc* at mvsoc? offset ? irq ?
254
255# On-chip Timers
256mvsoctmr* at mvsoc? offset ? irq ?
257
258
259# USB bus support
260usb*	at ehci?
261
262# USB Hubs
263uhub*	at usb?
264uhub*	at uhub? port ?
265
266# USB HID device
267uhidev* at uhub? port ? configuration ? interface ?
268
269# USB Mice
270ums*	at uhidev? reportid ?
271wsmouse* at ums? mux 0
272
273# USB Keyboards
274ukbd*	at uhidev? reportid ?
275wskbd*	at ukbd? console ? mux 1
276
277# USB Mass Storage
278umass*	at uhub? port ? configuration ? interface ?
279scsibus* at scsi?
280sd*	at scsibus? target ? lun ?	# SCSI disk drives
281cd*	at scsibus? target ? lun ?	# SCSI CD-ROM drives
282
283# Serial adapters
284uftdi*	at uhub? port ?		# FTDI FT8U100AX serial adapter
285ucom*	at uftdi? portno ?
286
287uplcom* at uhub? port ? 	# I/O DATA USB-RSAQ2 serial adapter
288ucom*	at uplcom? portno ?
289
290# USB Generic driver
291ugen*	at uhub? port ?
292
293
294# Pseudo-Devices
295
296pseudo-device	crypto			# /dev/crypto device
297pseudo-device	swcrypto		# software crypto implementation
298
299# disk/mass storage pseudo-devices
300pseudo-device	bio			# RAID control device driver
301pseudo-device	ccd			# concatenated/striped disk devices
302pseudo-device	cgd			# cryptographic disk devices
303pseudo-device	raid			# RAIDframe disk driver
304#options 	RAID_AUTOCONFIG		# auto-configuration of RAID components
305#Options to enable various other RAIDframe RAID types.
306#options	RF_INCLUDE_EVENODD=1
307#options	RF_INCLUDE_RAID5_RS=1
308#options	RF_INCLUDE_PARITYLOGGING=1
309#options	RF_INCLUDE_CHAINDECLUSTER=1
310#options	RF_INCLUDE_INTERDECLUSTER=1
311#options	RF_INCLUDE_PARITY_DECLUSTERING=1
312#options	RF_INCLUDE_PARITY_DECLUSTERING_DS=1
313pseudo-device	fss			# file system snapshot device
314pseudo-device	putter			# for puffs and pud
315
316pseudo-device	vnd			# disk-like interface to files
317options 	VND_COMPRESSION		# compressed vnd(4)
318
319
320# network pseudo-devices
321pseudo-device	bpfilter		# Berkeley packet filter
322#pseudo-device	carp			# Common Address Redundancy Protocol
323#pseudo-device	npf			# NPF packet filter
324pseudo-device	loop			# network loopback
325#pseudo-device	ifmpls			# MPLS pseudo-interface
326pseudo-device	ppp			# Point-to-Point Protocol
327pseudo-device	pppoe			# PPP over Ethernet (RFC 2516)
328pseudo-device	sl			# Serial Line IP
329pseudo-device	irframetty		# IrDA frame line discipline
330pseudo-device	tun			# network tunneling over tty
331pseudo-device	tap			# virtual Ethernet
332pseudo-device	gre			# generic L3 over IP tunnel
333pseudo-device	gif			# IPv[46] over IPv[46] tunnel (RFC1933)
334#pseudo-device	faith			# IPv[46] tcp relay translation i/f
335pseudo-device	stf			# 6to4 IPv6 over IPv4 encapsulation
336pseudo-device	vlan			# IEEE 802.1q encapsulation
337pseudo-device	bridge			# simple inter-network bridging
338#options 	BRIDGE_IPF		# bridge uses IP/IPv6 pfil hooks too
339pseudo-device	agr			# IEEE 802.3ad link aggregation
340#pseudo-device	npf			# NPF packet filter
341
342#
343# accept filters
344pseudo-device	accf_data		# "dataready" accept filter
345pseudo-device	accf_http		# "httpready" accept filter
346
347# miscellaneous pseudo-devices
348pseudo-device	pty			# pseudo-terminals
349pseudo-device	sequencer		# MIDI sequencer
350#options 	RND_COM			# use "com" randomness as well (BROKEN)
351pseudo-device	clockctl		# user control of clock subsystem
352pseudo-device	ksyms			# /dev/ksyms
353
354# a pseudo device needed for Coda	# also needs CODA (above)
355pseudo-device	vcoda			# coda minicache <-> venus comm.
356
357# wscons pseudo-devices
358pseudo-device	wsmux			# mouse & keyboard multiplexor
359pseudo-device	wsfont
360
361# pseudo audio device driver
362#pseudo-device	pad
363
364# userland interface to drivers, including autoconf and properties retrieval
365pseudo-device	drvctl
366
367# Veriexec
368include "dev/veriexec.config"
369
370options 	PAX_MPROTECT=0		# PaX mprotect(2) restrictions
371options 	PAX_ASLR=0		# PaX Address Space Layout Randomization
372