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
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
# $NetBSD: INSTALL,v 1.141 2022/08/07 02:53:42 simonb Exp $
#
# This file was automatically created.
# Changes will be lost when make is run in this directory.
#
# Created from: # NetBSD: GENERIC.in,v 1.150 2022/08/07 02:52:23 simonb 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/amiga/conf/std.amiga"

options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary

#ident 		"GENERIC-$Revision: 1.141 $"

makeoptions	COPTS="-Os -fno-omit-frame-pointer"

maxusers	8
options 	RTC_OFFSET=0

#
# mainboards to support (in addition to Amiga)
#
options 	DRACO
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
#
# processors this kernel should support
#
options 	M68060		# support for 060
options 	M060SP		# MC68060 software support (Required for 060)
options 	M68040		# support for 040
options 	FPSP		# MC68040 floating point support
options 	M68030		# support for 030
options 	M68020		# support for 020/851
options 	FPU_EMULATE	# FPU emulation

#
# Networking options
#
options 	INET		# IP networking support (Required)
options 	INET6		# IPV6
#options 	IPSEC		# IP security
#options 	IPSEC_DEBUG	# debug for IP security
#options 	GATEWAY		# Packet forwarding


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 	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

# Filesystems
file-system 	FFS		# Berkeley fast file system
file-system 	EXT2FS		# second extended file system (linux)
#file-system 	LFS		# log-structured filesystem (experimental)


file-system 	NFS		# Network File System client side code
file-system 	ADOSFS		# AmigaDOS file system
file-system 	CD9660		# ISO 9660 + Rock Ridge filesystem
file-system 	MSDOSFS		# MS-DOS filesystem

file-system 	KERNFS		# kernel data-structure filesystem


# Filesystem options

#options 	FFS_EI		# FFS Endian Independent support
options 	WAPBL		# File system journaling support


#options 	EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and
				# immutable) behave as system flags.

#
# Compatibility options for various existing systems
#


options 	EXEC_AOUT	# 32-bit aout executables (NetBSD-1.5.x)
options 	COMPAT_AOUT_M68K # actually make some system calls work.


#
# Support for various kernel options
#

#options 	INSECURE	# disable kernel security levels
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

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

#
# Misc. debugging options
#
options 	DDB		# Kernel debugger
#options 	DDB_HISTORY_SIZE=100	# Enable history editing in DDB
#options 	DIAGNOSTIC	# Extra kernel sanity checks
#options 	DEBUG		# Enable misc. kernel debugging code
makeoptions	DEBUG="-g"	# compile full symbol table
#options 	SYSCALL_DEBUG	# debug all syscalls.
#options 	SCSIDEBUG	# Add SCSI debugging statements
#options 	PANICBUTTON	# Forced crash via keypress (?)

#
# Amiga specific options
#
#options 	LIMITMEM=24	# Do not use more than LIMITMEM MB of the
				# first bank of RAM. (default: unlimited)

# ATTENTION: There is NO WARRANTY AT ALL that the sync will be complete
# before the 10 secondinterval ends, or that KBDRESET does work at all.
#options 	KBDRESET	# sync on Ctrl-Amiga-Amiga

# These options improve performance with the built-in serial port
# on slower Amigas.  Try the larger buffers first then lev6_defer.
#options 	SERIBUF_SIZE=4096
#options 	SEROBUF_SIZE=32
#options 	LEV6_DEFER	# defers l6 to l4 (below serial l5)

#options	DEVRELOAD	# implement /dev/reload
#				# currently only works for a.out kernels

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

# 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

#z3rambd*	at zbus0		# Zorro III RAM block devices
#altmem*	at z3rambd?

p5bus0		at zbus0		# Phase5 CSPPC/BPPC internal bus

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

#wsdisplay*	at grf5 console ?	# wsdisplay on top of grf (CV64)
#wsdisplay*	at grf7 console ?	# wsdisplay on top of grf (CV64/3D)

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


#
# 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 ?


#
# Amiga Mainboard devices (sans graphics and keyboard)
#

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
a2kbbc0 	at mainbus0		# A2000 battery backed clock

#wsmouse*	at ms?

#
# DraCo Mainboard devices (sans keyboard)
#

drbbc0		at mainbus0		# DraCo battery backed clock
drsupio0	at mainbus0		# DraCo superio chip
com*		at drsupio? port ?	# DraCo serial
lpt0		at drsupio? port ?	# DraCo parallel

#
# Zorro-II, Zorro-III, DraCo Direct-Bus devices (sans graphics)
#


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

xsh*		at zbus0		# X-Surf 100
ne*		at xshbus?		# NE2000 chip on X-Surf 100

xsurf*		at zbus0		# X-Surf
ne*		at xsurfbus?		# NE2000 chip on X-Surf
gencp*		at xsurfbus?		# clockports on X-Surf
wdc*		at xsurfbus?		# IDE on X-Surf

clockport*	at gencp?

# 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 p5bus0		# 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 p5bus0		# Cyberstorm mk.III/Cyberstorm PPC SCSI
scsibus*	at cbiiisc0
empsc0		at zbus0		# Emplant scsi
scsibus*	at empsc0

acafh0		at mainbus0		# Individual Computers ACA500
wdc*		at acafhbus?		# CF slots on ACA500
gencp*		at acafhbus?		# clockport on ACA500

wdc0		at mainbus0		# A4000 & A1200 IDE bus
wdc*		at zbus0		# Buddha / Catweasel
#efa0		at mainbus0		# ELBOX FastATA 1200 Mk-III/Mk-IV 

atabus* 	at wdc? channel ?	# ATA bus
#atabus*	at efa? channel ?	# ATA bus 
atabus*		at ata? 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?

nsphyter*	at mii? phy ?		# NS83843 PHYs
ukphy*		at mii? phy ?		# generic unknown PHYs

drsc0		at mainbus0		# DraCo scsi
scsibus*	at drsc0


# 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

# PCI bus support
options		PCIVERBOSE              # verbose PCI device autoconfig messages
#options	PCI_CONFIG_DUMP
options		PCI_NETBSD_CONFIGURE	# supported by mppb(4), p5pb(4), empb(4)

p5pb0		at p5bus0		# Phase5 PCI bridge (CVPPC/BVPPC/G-REX)
p5membar*	at zbus0		# Phase5 PCI bridge autoconfiguring BARs
#options	P5PB_DEBUG		# enable excessive debug for p5pb
#options	P5PB_CONSOLE		# console on CVPPC/BVPPC/Voodoo3
pci*		at p5pb0

mppb*           at zbus0		# Matay Prometheus Zorro-PCI bridge
pci*            at mppb?

empb0		at zbus0		# ELBOX Mediator PCI 1200
em4k0		at zbus0		# ELBOX Mediator PCI 4000
emmem0		at zbus0		# ELBOX Mediator PCI memory space
empm0		at empb0		# ELBOX Mediator PCI Power Management
pci*		at empb0
pci*		at em4k0

#cv3dpb*	at zbus0		# CyberVision 64/3D PCI bridge

#genfb*		at pci?			# generic fb, CVPPC/BVPPC only
#voodoofb*	at pci?			# 3Dfx Voodoo 3 in G-REX
#radeonfb*	at pci?			# untested

ne*             at pci?			# NE2000 Ethernet
satalink* at pci? dev ? function ? flags 0x0002	# SiI SATALink 3112 

# Bluetooth Controller and Device support
# tested only with btuart on an A1200

# Bluetooth PCMCIA Controllers
bt3c*   at pcmcia? function ?           # 3Com 3CRWB6096-A
btbc*   at pcmcia? function ?           # AnyCom BlueCard LSE041/039/139

# Bluetooth Device Hub
bthub*  at bcsp?
bthub*  at bt3c?
bthub*  at btbc?
bthub*  at btuart?

# Bluetooth HID support
bthidev* at bthub?

# Bluetooth Mouse
#btms*   at bthidev? reportid ?
#wsmouse* at btms? mux 0

# Bluetooth Keyboard
#btkbd* at bthidev? reportid ?
#wskbd* at btkbd? console ? mux 1

# Bluetooth Apple Magic Mouse
#btmagic* at bthub?
#wsmouse* at btmagic? mux 0

# Bluetooth Audio support
#btsco* at bthub?

# USB
slhci*		at zbus?                # Thylacine
usb*		at slhci?

uhub*		at usb?
uhub*		at uhub? port ?

uhidev*		at uhub? port ? configuration ? interface ?
uhid*		at uhidev? reportid ?


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	putter			# for puffs and pud

pseudo-device	view		4	# views (needed for grfcc)
pseudo-device	pty			# pseudo-terminals
pseudo-device	clockctl		# user control of clock 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   bcsp                    # BlueCore Serial Protocol
pseudo-device   btuart                  # Bluetooth HCI UART (H4)

# Veriexec
include "dev/veriexec.config"

config	netbsd root on ? type ?