Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
# $NetBSD: GENERIC,v 1.45 2023/02/12 14:50:38 abs Exp $
#
# GENERIC machine description file
# 
# This machine description file is used to generate the default NetBSD
# kernel.  The generic kernel does not include all options, subsystems
# and device drivers, but should be useful for most applications.
#
# The machine description file can be customised for your specific
# machine to reduce the kernel size and improve its performance.
#
# For further information on compiling NetBSD kernels, see the config(8)
# man page.
#
# For further information on hardware support for this architecture, see
# the intro(4) man page.  For further information about kernel options
# for this architecture, see the options(4) man page.  For an explanation
# of each device driver in this file see the section 4 man page for the
# device.

include "arch/amigappc/conf/std.amigappc"

options 	INCLUDE_CONFIG_FILE     # embed config file in kernel binary

#ident          "GENERIC-$Revision: 1.45 $"

maxusers	8

#
# Mainboards to support (in addition to Amiga)
#
options 	BB060STUPIDROM	# You need this, if you have a non-DraCo
				# MC68060 with an OS ROM up to (at least)
				# V40 (OS3.1) and want to boot with the
				# bootblock.
				# You do not need this if you have a DraCo,
				# have no 68060 or NEVER use the bootblock
options 	P5PPC68KBOARD	# Phase5 PPC/68K board support

#
# Standard system options
#
options 	INSECURE	# disable kernel security levels
options 	RTC_OFFSET=0	# hardware clock is this many mins. west of GMT
options 	NTP		# NTP phase/frequency locked loop

options 	KTRACE		# system call tracing support
options 	SCSIVERBOSE	# human readable SCSI error messages
options 	USERCONF	# userconf(4) support
#options 	PIPE_SOCKETPAIR	# smaller, but slower pipe(2)
#options 	SYSCTL_INCLUDE_DESCR	# Include sysctl descriptions in kernel

# Support for System V IPC facilities.
options 	SYSVSHM		# System V-like shared memory
options 	SYSVMSG		# System V-like messages
options 	SYSVSEM		# System V-like semaphores

# Alternate buffer queue strategies for better responsiveness under high
# disk I/O load.
#options 	BUFQ_READPRIO
options 	BUFQ_PRIOCSCAN

#
# Diagnostic/debugging support options
#
#options 	DIAGNOSTIC	# Extra kernel sanity checks
#options 	DEBUG		# Enable misc. kernel debugging code
#options 	DEBUG_KERNEL_START
options 	DDB		# in-kernel debugger
#options 	DDB_ONPANIC=1	# see also sysctl(7): `ddb.onpanic'
options 	DDB_HISTORY_SIZE=512	# Enable history editing in DDB
#options 	SCSIDEBUG	# Add SCSI debugging statements
#options 	SERCONSOLE	# console via Amiga serial port
#makeoptions	DEBUG="-g"	# compile full symbol table

#
# Compatibility option
#

include 	"conf/compat_netbsd09.config"

#options 	COMPAT_386BSD_MBRPART # recognize old partition ID
#options 	COMPAT_LINUX	# Linux binary compatibility
#options 	COMPAT_OSSAUDIO	# Linux binary compatibility

#
# File systems
#
file-system 	FFS		# UFS
file-system 	EXT2FS		# second extended file system (linux)
file-system 	LFS		# log-structured file system
file-system 	MFS		# memory file system
file-system 	NFS		# Network file System client
file-system 	CD9660		# ISO 9660 + Rock Ridge file system
file-system 	MSDOSFS		# MS-DOS file system
file-system 	ADOSFS		# AmigaDOS file system
file-system 	FDESC		# /dev/fd
file-system 	KERNFS		# /kern
file-system 	NULLFS		# loopback file system
file-system 	OVERLAY		# overlay file system
file-system 	PROCFS		# /proc
file-system 	UMAPFS		# NULLFS + uid and gid remapping
file-system 	UNION		# union file system
file-system	PTYFS		# /dev/pts/N support
file-system	TMPFS		# Efficient memory file-system
#file-system	UDF		# experimental - OSTA UDF CD/DVD file-system

# File system options
#options 	FFS_EI		# FFS Endian Independent support
#options 	FFS_NO_SNAPSHOT	# No FFS snapshot support
options 	QUOTA		# legacy UFS quotas
options 	QUOTA2		# new, in-filesystem UFS quotas
options 	UFS_DIRHASH	# UFS Large Directory Hashing
options 	UFS_EXTATTR	# Extended attribute support for UFS1
options 	WAPBL		# File system journaling support
options 	LFS_DIRHASH	# LFS version of UFS_DIRHASH - experimental
#options 	EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and
				# immutable) behave as system flags.
options 	NFSSERVER	# Network File System server

#
# Networking options
#
#options 	GATEWAY		# Packet forwarding
options 	INET		# IP networking support (Required)
options 	INET6		# IPV6
#options 	IPSEC		# IP security
#options 	IPSEC_DEBUG	# debug for IP security
#options 	MROUTING	# Multicast routing
#options 	PIM		# Protocol Independent Multicast
#options 	NETATALK	# AppleTalk networking protocols
options 	PPP_BSDCOMP	# BSD-Compress compression support for PPP
options 	PPP_DEFLATE	# Deflate compression support for PPP
options 	PPP_FILTER	# Active filter support for PPP (requires bpf)
#options 	TCP_DEBUG	# Record last TCP_NDEBUG packets with SO_DEBUG

#options 	ALTQ		# Manipulate network interfaces' output queues
#options 	ALTQ_BLUE	# Stochastic Fair Blue
#options 	ALTQ_CBQ	# Class-Based Queueing
#options 	ALTQ_CDNR	# Diffserv Traffic Conditioner
#options 	ALTQ_FIFOQ	# First-In First-Out Queue
#options 	ALTQ_FLOWVALVE	# RED/flow-valve (red-penalty-box)
#options 	ALTQ_HFSC	# Hierarchical Fair Service Curve
#options 	ALTQ_LOCALQ	# Local queueing discipline
#options 	ALTQ_PRIQ	# Priority Queueing
#options 	ALTQ_RED	# Random Early Detection
#options 	ALTQ_RIO	# RED with IN/OUT
#options 	ALTQ_WFQ	# Weighted Fair Queueing

#
# Amiga specific options
#
options 	RETINACONSOLE	# enable code to allow retina to be console
options 	ULOWELLCONSOLE	# enable code to allow a2410 to be console
options 	CL5426CONSOLE	# Cirrus console
options 	CV64CONSOLE	# CyberVision console
options 	TSENGCONSOLE	# Tseng console
options 	CV3DCONSOLE	# CyberVision 64/3D console

options 	GRF_ECS		# Enhanced Chip Set
options 	GRF_NTSC	# NTSC
options 	GRF_PAL		# PAL
options 	GRF_A2024	# Support for the A2024
options 	GRF_AGA		# AGA Chip Set
options 	GRF_AGA_VGA	# AGA VGAONLY timing
options 	GRF_SUPER72	# AGA Super-72
#options 	KFONT_8X11	# 8x11 font

# select a font for the console according to the character set and keymap
# you want to use
options        KFONT_CONS_ISO8859_1
#options         KFONT_CONS_ISO8859_2

# This is how you would tell the kernel the A2410 oscillator frequencies:
# The used frequencies are the defaults, and do not need option setting
#options 	ULOWELL_OSC1=36000000
#options 	ULOWELL_OSC2=66667000

# This is how you specify the blitting speed, higher values may speed up blits
# a little bit.  If you raise this value too much some trash may appear.
# the commented version is the default.
#options 	RH_MEMCLK=61000000
# this option enables the 64 bit sprite which does not work
# for quite a few people.  E.g. The cursor sprite will turn to a block
# when moved to the top of the screen in X.
#options 	RH_64BIT_SPRITE
# enables fast scroll code appears to now work on 040 systems.
#options 	RETINA_SPEED_HACK
# enables the Hardwarecursor which does not work on some systems.
#options 	RH_HARDWARECURSOR

#
# Device configuration
#
mainbus0	at root
cpu0		at mainbus0
kbd0		at mainbus0		# Amiga keyboard
zbus0		at mainbus0		# ZorroII/III expansion bus
ser0		at mainbus0		# Amiga onboard serial
par0		at mainbus0		# Amiga onboard parallel
ms*		at mainbus0		# Amiga mice
fdc0		at mainbus0		# Amiga FDC
fd*		at fdc0 unit ?		# floppy disks on the later
a34kbbc0	at mainbus0		# A3000/A4000 battery backed clock
aucc*		at mainbus0		# Amiga CC audio
audio*		at aucc?

spkr*		at audio?		# PC speaker (synthesized)

# wscons aware interface to amiga custom chips.
# If you enable it enable also wskbd.
#amidisplaycc0	at mainbus0		# wscons interface to custom chips
#wsdisplay0	at amidisplaycc0 console ?
#options 	WSEMUL_VT100
#options 	WSDISPLAY_COMPAT_USL		# wsconscfg VT handling
#options 	FONT_VT220L8x10
#options	FONT_VT220ISO8x16
#
# Keyboard device. Optionally can attach a wskbd.
# wskbd works together with a wsdisplay so enable them both if you will.
# Don't enable wskbd if you use ite.
#
# XXX in std.amiga: kbd0 at mainbus0
#wskbd0		at kbd0 console ?
#wsmouse*	at ms?

#
# Graphics devices
#
grfcc0		at mainbus0		# custom chips
grfrt0		at zbus0		# retina II
grfrh0		at zbus0		# retina III
grfcl*		at zbus0		# Picasso II/Piccolo/Spectrum
grful0		at zbus0		# A2410
grfcv0		at zbus0		# CyberVision 64
grfet*		at zbus0		# Tseng (oMniBus, Domino, Merlin)
grfcv3d0	at zbus0		# CyberVision 64/3D

grf0		at grfcc0
grf1		at grfrt0
grf2		at grfrh0
grf3		at grfcl?
grf4		at grful0
grf5		at grfcv0
grf6		at grfet?
grf7		at grfcv3d0
ite0		at grf0			# terminal emulators for grfs
ite1		at grf1			# terminal emulators for grfs
ite2		at grf2			# terminal emulators for grfs
ite3		at grf3			# terminal emulators for grfs
ite4		at grf4			# terminal emulators for grfs
ite5		at grf5			# terminal emulators for grfs
ite6		at grf6			# terminal emulators for grfs
ite7		at grf7			# terminal emulators for grfs

# Needs wscons
#mntva*          at zbus?                # MNTMN VA2000
#options         MNTVA_CONSOLE

#
# Zorro-II, Zorro-III devices (sans graphics)
#
repulse*	at zbus0		# ALiENDESiGN Repulse
audio*		at repulse?

toccata*	at zbus0		# MacroSystem GmbH Toccata
audio*		at toccata?

# Ethernet cards:
le*		at zbus0		# A2065, Ameristar, Ariadne
ne*		at zbus0		# AriadneII, X-surf
ed*		at zbus0		# Hydra, ASDG LanRover
es*		at zbus0		# CEI A4066 EthernetPLUS
qn*		at zbus0		# Quicknet

# Arcnet
bah*		at zbus0		# C=/Ameristar A2060 / 560

# Greater Valley Product Bus
gvpbus* 	at zbus0

# scsi stuff, all possible
gtsc0		at gvpbus?		# GVP series II scsi
scsibus*	at gtsc0
ahsc0		at mainbus0		# A3000 scsi
scsibus*	at ahsc0
atzsc0		at zbus0		# A2091 scsi
scsibus*	at atzsc0
wstsc0		at zbus0		# Wordsync II scsi
scsibus*	at wstsc0
ivsc0		at zbus0		# IVS scsi
scsibus*	at ivsc0
mlhsc0		at zbus0		# Hacker scsi
scsibus*	at mlhsc0
otgsc0		at zbus0		# 12 gauge scsi
scsibus*	at otgsc0
zssc0		at zbus0		# Zeus scsi
scsibus*	at zssc0
mgnsc0		at zbus0		# Magnum scsi
scsibus*	at mgnsc0
wesc0		at zbus0		# Warp Engine scsi
scsibus*	at wesc0
bppcsc0		at zbus0		# BlizzardPPC 603e+ scsi
scsibus*	at bppcsc0
afsc0		at zbus0		# A4091 scsi
scsibus*	at afsc0
aftsc0		at mainbus0		# A4000T scsi
scsibus*	at aftsc0
flsc0		at zbus0		# FastlaneZ3 scsi
scsibus*	at flsc0
bzsc0		at zbus0		# Blizzard 1230 I,II scsi
scsibus*	at bzsc0
bzivsc0 	at zbus0		# Blizzard 12x0 IV scsi
scsibus*	at bzivsc0
bztzsc0 	at zbus0		# Blizzard 2060 scsi
scsibus*	at bztzsc0
cbsc0		at zbus0		# CyberSCSI I
scsibus*	at cbsc0
cbiisc0 	at zbus0		# CyberSCSI II
scsibus*	at cbiisc0
cbiiisc0 	at zbus0		# Cyberstorm mk.III/Cyberstorm PPC SCSI
scsibus*	at cbiiisc0
empsc0		at zbus0		# Emplant scsi
scsibus*	at empsc0

wdc0		at mainbus0		# A4000 & A1200 IDE bus
wdc*		at zbus0		# Buddha / Catweasel

atabus* 	at wdc? channel ?	# ATA bus
wd*		at atabus? drive ?	#  + drives
atapibus*	at atabus?		# ATAPI bus
cd*		at atapibus? drive ?	# ATAPI CD-ROM drives
sd*		at atapibus? drive ?	# ATAPI disk drives

pccard0 	at mainbus0
pcmcia* 	at pccard0
com*		at pcmcia? function ?	# Modems and serial cards
pcmcom* 	at pcmcia? function ?	# PCMCIA multi-port serial cards
aic*		at pcmcia? function ?	# Adaptec APA-1460 SCSI
wdc*		at pcmcia? function ?
awi*		at pcmcia? function ?	# BayStack 650 (802.11FH)
ep*		at pcmcia? function ?	# 3Com 3c589 and 3c562 Ethernet
mbe*		at pcmcia? function ?	# MB8696x based Ethernet
ne*		at pcmcia? function ?	# NE2000-compatible Ethernet
sm*		at pcmcia? function ?	# Megahertz Ethernet
mhzc*		at pcmcia? function ?	# Megahertz Ethernet/Modem combo cards
com*		at mhzc?
sm*		at mhzc?

# each hard drive from low target to high
# will configure to the next available sd unit number
sd*		at scsibus? target ? lun ?	# scsi disks
st*		at scsibus? target ? lun ?	# scsi tapes
cd*		at scsibus? target ? lun ?	# scsi cds
ch*		at scsibus? target ? lun ?	# scsi autochangers
ss*		at scsibus? target ? lun ?	# scsi scanner
uk*		at scsibus? target ? lun ?	# scsi unknown

msc0		at zbus0		# A2232 MSC multiport serial.
mfc0		at zbus0		# MultiFaceCard I/O board
mfcs0		at mfc0 unit 0		# MFC serial
mfcs1		at mfc0 unit 1		# MFC serial
#mfcp0		at mfc0 unit 0		# MFC parallel [not available yet]
#mfc1		at zbus0		# MultiFaceCard 2nd I/O board
#mfcs2		at mfc1 unit 0
#mfcs3		at mfc1 unit 1
#mfcp1		at mfc1 unit 0

hyper*		at zbus?		# zbus HyperCom3/3+/4/4+
#hyper*		at mainbus0		# not yet: HyperCom1 + HyperCom3
com*		at hyper? port ?	# Hypercom3/4 serial ports
lpt*		at hyper? port ?	# Hypercom3+/4+ parallel port

#options 	IOBZCLOCK=22118400 	# default, uncomment the next line
#options 	IOBZCLOCK=24000000	# if needed.

iobl*		at zbus?		# zbus IOBlix
com*		at iobl? port ?		# IOBlix serial ports
lpt*		at iobl? port ?		# IOBlix parallel ports


#
# accept filters
pseudo-device	accf_data		# "dataready" accept filter
pseudo-device	accf_http		# "httpready" accept filter

pseudo-device	loop			# loopback network interface
pseudo-device	sl			# SLIP network interfaces
pseudo-device	ppp			# PPP network interfaces
pseudo-device	pppoe			# PPP over Ethernet (RFC 2516)
pseudo-device	tun			# network tunnel line discipline
pseudo-device	tap			# virtual Ethernet
#pseudo-device	gre			# generic L3 over IP tunnel
pseudo-device	bpfilter		# Berkeley packet filter
pseudo-device	carp			# Common Address Redundancy Protocol
pseudo-device	npf			# NPF packet filter
pseudo-device	gif			# IPv[46] over IPv[46] tunnel (RFC1933)
#pseudo-device	faith			# IPv[46] tcp relay translation i/f
pseudo-device	stf			# 6to4 IPv6 over IPv4 encapsulation
pseudo-device	vlan			# IEEE 802.1q encapsulation
pseudo-device	bridge			# simple inter-network bridging
pseudo-device	vether			# Virtual Ethernet for bridge
pseudo-device	agr			# IEEE 802.3ad link aggregation
pseudo-device	fss			# file system snapshot device

pseudo-device	view		4	# views (needed for grfcc)
pseudo-device	pty			# pseudo-terminals
pseudo-device	clockctl		# user control of clock subsystem
pseudo-device	drvctl			# user control of drive subsystem

#pseudo-device	wsfont			# wsfont(4) dynamic font loading support
#pseudo-device	wsmux			# mouse & keyboard multiplexor

pseudo-device	vnd			# vnode pseudo-disks
#options 	VND_COMPRESSION		# compressed vnd(4)
pseudo-device	ccd			# concatenated disk devices
#pseudo-device	cgd			# cryptographic disk devices
pseudo-device	raid			# RAIDframe disk driver
options 	RAID_AUTOCONFIG		# auto-configuration of RAID components
# Options to enable various other RAIDframe RAID types.
# options 	RF_INCLUDE_EVENODD=1
# options 	RF_INCLUDE_RAID5_RS=1
# options 	RF_INCLUDE_PARITYLOGGING=1
# options 	RF_INCLUDE_CHAINDECLUSTER=1
# options 	RF_INCLUDE_INTERDECLUSTER=1
# options 	RF_INCLUDE_PARITY_DECLUSTERING=1
# options 	RF_INCLUDE_PARITY_DECLUSTERING_DS=1

#options 	RND_COM			# use "com" randomness as well (BROKEN)

pseudo-device	ksyms			# /dev/ksyms (kernel symbols)
pseudo-device 	swwdog			# software watchdog timer -- swwdog(4)

include "dev/veriexec.config"

# Kernel root file system and dump configuration
config		netbsd	root on ? type ?

# Pull in optional local configuration - always at end
cinclude	"arch/amigappc/conf/GENERIC.local"