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