CUBOX revision 1.2 1 # $NetBSD: CUBOX,v 1.2 2017/02/19 07:47:00 rin 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 PERFCTRS # performance counters
52 options DIAGNOSTIC # internally consistency checks
53
54 #options DEBUG
55 #options PMAP_DEBUG # Enable pmap_debug_level code
56 options LOCKDEBUG # expensive locking checks/support
57 options IRQSTATS # manage IRQ statistics
58 #options NO_POWERSAVE # uncomment this to run under ICE
59
60 #makeoptions COPTS="-O2"
61 options DDB # in-kernel debugger
62 #options DDB_KEYCODE=0x1d # ^]
63 #options DDB_COMMANDONENTER="bt" # execute command when ddb is entered
64 options DDB_ONPANIC=1 # see also sysctl(7): `ddb.onpanic'
65 options DDB_HISTORY_SIZE=100 # Enable history editing in DDB
66 options DDB_VERBOSE_HELP
67 #options IPKDB # remote kernel debugging
68 #options KGDB
69 #options KGDB_DEVRATE=115200
70 makeoptions DEBUG="-g" # compile full symbol table
71 makeoptions COPY_SYMTAB=1
72 #options SYSCALL_STATS # per syscall counts
73 #options SYSCALL_TIMES # per syscall times
74 #options SYSCALL_TIMES_HASCOUNTER # use 'broken' rdtsc (soekris)
75
76
77 # Compatibility options
78 options COMPAT_NETBSD32 # allow running arm (e.g. non-earm) binaries
79 #options COMPAT_43 # 4.3BSD compatibility.
80 #options COMPAT_09 # NetBSD 0.9,
81 #options COMPAT_10 # NetBSD 1.0,
82 #options COMPAT_11 # NetBSD 1.1,
83 #options COMPAT_12 # NetBSD 1.2,
84 #options COMPAT_13 # NetBSD 1.3,
85 #options COMPAT_14 # NetBSD 1.4,
86 #options COMPAT_15 # NetBSD 1.5,
87 #options COMPAT_16 # NetBSD 1.6,
88 #options COMPAT_20 # NetBSD 2.0,
89 #options COMPAT_30 # NetBSD 3.0,
90 #options COMPAT_40 # NetBSD 4.0,
91 #options COMPAT_50 # NetBSD 5.0,
92 options COMPAT_60 # NetBSD 6.0, and
93 options COMPAT_70 # NetBSD 7.0 binary compatibility.
94 #options TCP_COMPAT_42 # 4.2BSD TCP/IP bug compat. Not recommended.
95
96 options COMPAT_OSSAUDIO # OSS (Voxware) audio driver compatibility
97 #options COMPAT_NDIS # NDIS network driver
98 options COMPAT_BSDPTY # /dev/[pt]ty?? ptys.
99
100 # Wedge support
101 options DKWEDGE_AUTODISCOVER # Automatically add dk(4) instances
102 options DKWEDGE_METHOD_GPT # Supports GPT partitions as wedges
103
104 # File systems
105 file-system FFS # UFS
106 file-system MFS # memory file system
107 file-system NFS # Network File System client
108 file-system TMPFS # Efficient memory file-system
109 file-system EXT2FS # second extended file system (linux)
110 file-system LFS # log-structured file system
111 file-system NTFS # Windows/NT file system (experimental)
112 file-system CD9660 # ISO 9660 + Rock Ridge file system
113 file-system MSDOSFS # MS-DOS file system
114 file-system FDESC # /dev/fd
115 file-system KERNFS # /kern
116 file-system NULLFS # loopback file system
117 file-system OVERLAY # overlay file system
118 file-system PROCFS # /proc
119 file-system PUFFS # Userspace file systems (e.g. ntfs-3g & sshfs)
120 file-system SMBFS # experimental - CIFS; also needs nsmb (below)
121 file-system UMAPFS # NULLFS + uid and gid remapping
122 file-system UNION # union file system
123 file-system CODA # Coda File System; also needs vcoda (below)
124 file-system PTYFS # /dev/ptm support
125 #file-system UDF # experimental - OSTA UDF CD/DVD file-system
126 #file-system HFS # experimental - Apple HFS+ (read-only)
127 #file-system NILFS # experimental - NTT's NiLFS(2)
128
129 # File system options
130 options QUOTA # legacy UFS quotas
131 options QUOTA2 # new, in-filesystem UFS quotas
132 #options DISKLABEL_EI # disklabel Endian Independent support
133 options FFS_EI # FFS Endian Independent support
134 options WAPBL # File system journaling support
135 # Note that UFS_DIRHASH is suspected of causing kernel memory corruption.
136 # It is not recommended for general use.
137 #options UFS_DIRHASH # UFS Large Directory Hashing - Experimental
138 options NFSSERVER # Network File System server
139 #options EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and
140 # immutable) behave as system flags.
141 #options FFS_NO_SNAPSHOT # No FFS snapshot support
142
143 # Networking options
144 #options GATEWAY # packet forwarding
145 options INET # IP + ICMP + TCP + UDP
146 options INET6 # IPv6
147 options IPSEC # IP security
148 #options IPSEC_DEBUG # debug for IP security
149 #options MPLS # MultiProtocol Label Switching (needs ifmpls)
150 #options MROUTING # IP multicast routing
151 #options PIM # Protocol Independent Multicast
152 options NETATALK # AppleTalk networking protocols
153 options PPP_BSDCOMP # BSD-Compress compression support for PPP
154 options PPP_DEFLATE # Deflate compression support for PPP
155 options PPP_FILTER # Active filter support for PPP (requires bpf)
156 options IPFILTER_LOG # ipmon(8) log support
157 options IPFILTER_LOOKUP # ippool(8) support
158 options IPFILTER_COMPAT # Compat for IP-Filter
159 #options IPFILTER_DEFAULT_BLOCK # block all packets by default
160 #options TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG
161
162 #options ALTQ # Manipulate network interfaces' output queues
163 #options ALTQ_BLUE # Stochastic Fair Blue
164 #options ALTQ_CBQ # Class-Based Queueing
165 #options ALTQ_CDNR # Diffserv Traffic Conditioner
166 #options ALTQ_FIFOQ # First-In First-Out Queue
167 #options ALTQ_FLOWVALVE # RED/flow-valve (red-penalty-box)
168 #options ALTQ_HFSC # Hierarchical Fair Service Curve
169 #options ALTQ_LOCALQ # Local queueing discipline
170 #options ALTQ_PRIQ # Priority Queueing
171 #options ALTQ_RED # Random Early Detection
172 #options ALTQ_RIO # RED with IN/OUT
173 #options ALTQ_WFQ # Weighted Fair Queueing
174
175 # Device options
176
177 # These options enable verbose messages for several subsystems.
178 # Warning, these may compile large string tables into the kernel!
179 options MIIVERBOSE # verbose PHY autoconfig messages
180 #options PCIVERBOSE # verbose PCI device autoconfig messages
181 #options PCI_CONFIG_DUMP # verbosely dump PCI config space
182 #options PCMCIAVERBOSE # verbose PCMCIA configuration messages
183 #options SCSIVERBOSE # Verbose SCSI errors
184 #options USBVERBOSE # verbose USB device autoconfig messages
185
186 # Kernel root file system and dump configuration.
187 config netbsd root on ? type ?
188
189 options NFS_BOOT_BOOTP
190 options NFS_BOOT_DHCP
191 #options NFS_BOOT_BOOTPARAM
192 #options NFS_BOOT_BOOTSTATIC
193 #options NFS_BOOTSTATIC_MYIP="\"192.168.0.2\""
194 #options NFS_BOOTSTATIC_GWIP="\"192.168.0.1\""
195 #options NFS_BOOTSTATIC_MASK="\"255.255.255.0\""
196 #options NFS_BOOTSTATIC_SERVADDR="\"192.168.0.3\""
197 #options NFS_BOOTSTATIC_SERVER="\"192.168.0.3:/nfs/cubox\""
198
199
200 #
201 # Device configuration
202 #
203
204 mainbus0 at root
205
206 cpu* at mainbus?
207
208 # Marvell 88AP510 Dove System-on-chip
209 mvsoc0 at mainbus?
210 #options MVSOC_CONSOLE_EARLY
211
212 # On-chip Power Management Unit
213 mvsocpmu* at mvsoc? offset ? irq ?
214
215 # On-chip Gigabit Ethernet Controller
216 mvgbec* at mvsoc? offset ?
217 mvgbe* at mvgbec? port ? irq ?
218
219 # MII/PHY support
220 makphy* at mii? phy ?
221
222 # On-chip Cryptographic Engines and Security Accelerator (CESA)
223 mvcesa* at mvsoc? offset ? irq ?
224
225 # On-chip XOR DMA Engine
226 gtidmac* at mvsoc? offset ? irq ?
227
228 # On-chip PCI Express Interface
229 mvpex* at mvsoc? offset ? irq ?
230 pci* at mvpex?
231
232 # PCI bus support
233 options PCI_NETBSD_CONFIGURE
234 #options PCI_CONFIG_DUMP # verbosely dump PCI config space
235
236 pchb* at pci? dev ? function ? # PCI-Host bridges
237
238 # On-chip Serial-ATA (SATA) II Interface
239 mvsata* at mvsoc? offset ? irq ?
240
241 # ATA (IDE) bus support
242 atabus* at ata?
243 #options ATADEBUG
244
245 # IDE drives
246 wd* at atabus? drive ? flags 0x0000
247
248 # On-chip USB 2.0 Interface
249 ehci* at mvsoc? offset ? irq ?
250
251 # On-chip Secure Digital Input/Output Host Controller
252 sdhc* at mvsoc? offset ? irq ?
253 sdmmc* at sdhc?
254
255 ld* at sdmmc?
256
257 # On-chip Serial Peripheral Interface (SPI)
258 mvspi* at mvsoc? offset ? irq ?
259 spi* at mvspi?
260
261 m25p0 at spi? slave 0
262 spiflash0 at spiflashbus?
263
264 # On-chip Two-Wire Serial Interface (TWSI)
265 gttwsi* at mvsoc? offset ? irq ?
266 iic* at gttwsi?
267
268 #TDA998x at iic? addr 0x34 # HDMI transmitters
269 #Si5351A at iic? addr 0x60 # Programmable Any-Frequency CMOS Clock Generator
270 #lcdc at iic? addr 0x70
271
272 # On-chip UART Interface
273 com* at mvsoc? offset ? irq ?
274
275 # On-chip Real Time Clock (RTC)
276 mvsocrtc* at mvsoc? offset ? irq ?
277
278 # On-chip Timers
279 mvsoctmr* at mvsoc? offset ? irq ?
280
281
282 # USB bus support
283 usb* at ehci?
284
285 # USB Hubs
286 uhub* at usb?
287 uhub* at uhub? port ?
288
289 # USB HID device
290 uhidev* at uhub? port ? configuration ? interface ?
291
292 # USB Mice
293 ums* at uhidev? reportid ?
294 wsmouse* at ums? mux 0
295
296 # USB Keyboards
297 ukbd* at uhidev? reportid ?
298 wskbd* at ukbd? console ? mux 1
299
300 # USB Mass Storage
301 umass* at uhub? port ? configuration ? interface ?
302 wd* at umass?
303 scsibus* at scsi?
304 sd* at scsibus? target ? lun ? # SCSI disk drives
305 cd* at scsibus? target ? lun ? # SCSI CD-ROM drives
306
307 # Serial adapters
308 uftdi* at uhub? port ? # FTDI FT8U100AX serial adapter
309 ucom* at uftdi? portno ?
310
311 uplcom* at uhub? port ? # I/O DATA USB-RSAQ2 serial adapter
312 ucom* at uplcom? portno ?
313
314 # USB Generic driver
315 ugen* at uhub? port ?
316
317
318 # Pseudo-Devices
319
320 pseudo-device crypto # /dev/crypto device
321 pseudo-device swcrypto # software crypto implementation
322
323 # disk/mass storage pseudo-devices
324 pseudo-device bio # RAID control device driver
325 pseudo-device ccd # concatenated/striped disk devices
326 pseudo-device cgd # cryptographic disk devices
327 pseudo-device raid # RAIDframe disk driver
328 #options RAID_AUTOCONFIG # auto-configuration of RAID components
329 #Options to enable various other RAIDframe RAID types.
330 #options RF_INCLUDE_EVENODD=1
331 #options RF_INCLUDE_RAID5_RS=1
332 #options RF_INCLUDE_PARITYLOGGING=1
333 #options RF_INCLUDE_CHAINDECLUSTER=1
334 #options RF_INCLUDE_INTERDECLUSTER=1
335 #options RF_INCLUDE_PARITY_DECLUSTERING=1
336 #options RF_INCLUDE_PARITY_DECLUSTERING_DS=1
337 pseudo-device fss # file system snapshot device
338 pseudo-device putter # for puffs and pud
339
340 pseudo-device vnd # disk-like interface to files
341 options VND_COMPRESSION # compressed vnd(4)
342
343
344 # network pseudo-devices
345 pseudo-device bpfilter # Berkeley packet filter
346 #pseudo-device carp # Common Address Redundancy Protocol
347 #pseudo-device ipfilter # IP filter (firewall) and NAT
348 pseudo-device loop # network loopback
349 #pseudo-device ifmpls # MPLS pseudo-interface
350 pseudo-device ppp # Point-to-Point Protocol
351 pseudo-device pppoe # PPP over Ethernet (RFC 2516)
352 pseudo-device sl # Serial Line IP
353 pseudo-device strip # Starmode Radio IP (Metricom)
354 pseudo-device irframetty # IrDA frame line discipline
355 pseudo-device tun # network tunneling over tty
356 pseudo-device tap # virtual Ethernet
357 pseudo-device gre # generic L3 over IP tunnel
358 pseudo-device gif # IPv[46] over IPv[46] tunnel (RFC1933)
359 #pseudo-device faith # IPv[46] tcp relay translation i/f
360 pseudo-device stf # 6to4 IPv6 over IPv4 encapsulation
361 pseudo-device vlan # IEEE 802.1q encapsulation
362 pseudo-device bridge # simple inter-network bridging
363 #options BRIDGE_IPF # bridge uses IP/IPv6 pfil hooks too
364 pseudo-device agr # IEEE 802.3ad link aggregation
365 #pseudo-device pf # PF packet filter
366 #pseudo-device pflog # PF log if
367 #pseudo-device pfsync # PF sync if
368 #pseudo-device npf # NPF packet filter
369
370 #
371 # accept filters
372 pseudo-device accf_data # "dataready" accept filter
373 pseudo-device accf_http # "httpready" accept filter
374
375 # miscellaneous pseudo-devices
376 pseudo-device pty # pseudo-terminals
377 pseudo-device sequencer # MIDI sequencer
378 # rnd works; RND_COM does not on port i386 yet.
379 #options RND_COM # use "com" randomness as well (BROKEN)
380 pseudo-device clockctl # user control of clock subsystem
381 pseudo-device ksyms # /dev/ksyms
382
383 # a pseudo device needed for Coda # also needs CODA (above)
384 pseudo-device vcoda # coda minicache <-> venus comm.
385
386 # a pseudo device needed for SMBFS
387 pseudo-device nsmb # experimental - SMB requester
388
389 # wscons pseudo-devices
390 pseudo-device wsmux # mouse & keyboard multiplexor
391 pseudo-device wsfont
392
393 # pseudo audio device driver
394 #pseudo-device pad
395
396 # userland interface to drivers, including autoconf and properties retrieval
397 pseudo-device drvctl
398
399 options FILEASSOC # fileassoc(9) - required for Veriexec
400
401 # Veriexec
402 #
403 # a pseudo device needed for veriexec
404 pseudo-device veriexec
405 #
406 # Uncomment the fingerprint methods below that are desired. Note that
407 # removing fingerprint methods will have almost no impact on the kernel
408 # code size.
409 #
410 options VERIFIED_EXEC_FP_RMD160
411 options VERIFIED_EXEC_FP_SHA256
412 options VERIFIED_EXEC_FP_SHA384
413 options VERIFIED_EXEC_FP_SHA512
414 options VERIFIED_EXEC_FP_SHA1
415 options VERIFIED_EXEC_FP_MD5
416
417 options PAX_MPROTECT=0 # PaX mprotect(2) restrictions
418 options PAX_ASLR=0 # PaX Address Space Layout Randomization
419