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
#	$NetBSD: Makefile,v 1.222.2.1 2019/09/01 13:00:37 martin Exp $

.include <bsd.own.mk>

# For all platforms

# Modules for compatability with earlier versions of NetBSD

SUBDIR+=	compat_util
SUBDIR+=	compat_43   compat_sysctl_09_43
SUBDIR+=	compat_09   compat_10   compat_12   compat_13   compat_14
SUBDIR+=	compat_16   compat_20   compat_30   compat_40   compat_50
SUBDIR+=	compat_60   compat_70   compat_80 

SUBDIR+=	compat_sysv_10 compat_sysv_14 compat_sysv_50

SUBDIR+=	compat_raid_50
SUBDIR+=	compat_raid_80

SUBDIR+=	compat_crypto_50

SUBDIR+=	accf_dataready
SUBDIR+=	accf_httpready
SUBDIR+=	adosfs
SUBDIR+=	aio
SUBDIR+=	audio
SUBDIR+=	autofs
SUBDIR+=	blowfish
SUBDIR+=	bpf
SUBDIR+=	bpf_filter
SUBDIR+=	bufq_disksort
SUBDIR+=	bufq_fcfs
SUBDIR+=	bufq_priocscan
SUBDIR+=	bufq_readprio
SUBDIR+=	camellia
SUBDIR+=	cast128
SUBDIR+=	ccd
SUBDIR+=	cd9660
SUBDIR+=	cgd
SUBDIR+=	chfs
SUBDIR+=	clockctl
SUBDIR+=	compat_ossaudio
SUBDIR+=	crypto
SUBDIR+=	coda
SUBDIR+=	coda5
SUBDIR+=	coredump
SUBDIR+=	dbcool
SUBDIR+=	des
SUBDIR+=	dk_subr
SUBDIR+=	drvctl
SUBDIR+=	efs
SUBDIR+=	ext2fs
SUBDIR+=	exec_script
SUBDIR+=	fdesc
SUBDIR+=	ffs
SUBDIR+=	filecore
SUBDIR+=	filemon
SUBDIR+=	flash
SUBDIR+=	fss
SUBDIR+=	gpio
SUBDIR+=	gpioiic
SUBDIR+=	gpioow
SUBDIR+=	gpiosim
SUBDIR+=	gpioirq
SUBDIR+=	gpiopps
SUBDIR+=	hfs
SUBDIR+=	hythygtemp
SUBDIR+=	si70xxtemp
SUBDIR+=	am2315temp
SUBDIR+=	i2cexec
SUBDIR+=	i2c_bitbang
SUBDIR+=	if_agr
SUBDIR+=	if_axe
SUBDIR+=	if_axen
SUBDIR+=	if_faith
SUBDIR+=	if_gif
SUBDIR+=	if_gre
SUBDIR+=	if_l2tp
SUBDIR+=	if_loop
SUBDIR+=	if_mpls
SUBDIR+=	if_mue
SUBDIR+=	if_npflog
SUBDIR+=	if_ppp
SUBDIR+=	if_pppoe
SUBDIR+=	if_sl
SUBDIR+=	if_smsc
SUBDIR+=	if_srt srt
SUBDIR+=	if_stf
SUBDIR+=	if_strip
SUBDIR+=	if_tap tap
SUBDIR+=	if_tun tun
SUBDIR+=	if_ure
SUBDIR+=	if_vlan
SUBDIR+=	iic
SUBDIR+=	ip_ecn
SUBDIR+=	ipl
SUBDIR+=	kernfs
SUBDIR+=	layerfs
SUBDIR+=	lfs
SUBDIR+=	lua
SUBDIR+=	luasystm
SUBDIR+=	luapmf
SUBDIR+=	mfs
SUBDIR+=	midi
SUBDIR+=	miiverbose
SUBDIR+=	miniroot
SUBDIR+=	mqueue
SUBDIR+=	msdos
SUBDIR+=	nand
SUBDIR+=	nandemulator
SUBDIR+=	nfs
SUBDIR+=	nfsserver
SUBDIR+=	nilfs
SUBDIR+=	npf
SUBDIR+=	npf_alg_icmp
SUBDIR+=	npf_ext_log
SUBDIR+=	npf_ext_normalize
SUBDIR+=	npf_ext_rndblock
SUBDIR+=	ntfs
SUBDIR+=	null
SUBDIR+=	onewire
SUBDIR+=	opencrypto
SUBDIR+=	overlay
SUBDIR+=	pciverbose
SUBDIR+=	pf
SUBDIR+=	ppp_bsdcomp
SUBDIR+=	ppp_deflate
SUBDIR+=	procfs
SUBDIR+=	ptrace
SUBDIR+=	ptrace_common
SUBDIR+=	ptyfs
SUBDIR+=	puffs
SUBDIR+=	putter
SUBDIR+=	raid
SUBDIR+=	scsiverbose
SUBDIR+=	sdtemp
SUBDIR+=	secmodel_bsd44
SUBDIR+=	secmodel_extensions
SUBDIR+=	secmodel_overlay
SUBDIR+=	securelevel
SUBDIR+=	sequencer
SUBDIR+=	skipjack
SUBDIR+=	slcompress
SUBDIR+=	smbfs
SUBDIR+=	spdmem
SUBDIR+=	spkr
SUBDIR+=	sppp_subr
SUBDIR+=	sysmon
SUBDIR+=	sysmon_envsys
SUBDIR+=	sysmon_power
SUBDIR+=	sysmon_taskq
SUBDIR+=	sysmon_wdog
SUBDIR+=	sysvbfs
SUBDIR+=	sysv_ipc
SUBDIR+=	suser
SUBDIR+=	swcrypto
SUBDIR+=	swsensor
SUBDIR+=	swwdog
SUBDIR+=	tmpfs
SUBDIR+=	ualea
SUBDIR+=	uatp
SUBDIR+=	udf
SUBDIR+=	ufs
SUBDIR+=	umap
SUBDIR+=	union
SUBDIR+=	usbnet
SUBDIR+=	usbverbose
SUBDIR+=	vcoda
SUBDIR+=	v7fs
SUBDIR+=	vnd
SUBDIR+=	wapbl
SUBDIR+=	wsbell
SUBDIR+=	zlib
SUBDIR+=	tprof
.if (defined(NOTYET))
SUBDIR+=	hifn		# Builds on architectures with PCI bus
SUBDIR+=	unionfs
.endif
.if ${MKBINUTILS} != "no"
SUBDIR+=	xldscripts
.endif

# Machine dependent section
.if ${MACHINE_ARCH} == "i386" || \
    ${MACHINE_CPU} == "m68k"
SUBDIR+=	exec_aout
.endif

.if ${MACHINE_ARCH} != "alpha" && \
    ${MACHINE_CPU} != "aarch64" && \
    ${MACHINE_ARCH} != "ia64"
SUBDIR+=	exec_elf32
.endif

.if ${MACHINE_CPU} == "aarch64" || \
    ${MACHINE_ARCH} == "alpha" || \
    ${MACHINE_ARCH} == "ia64" || \
    ${MACHINE_ARCH} == "sparc64" || \
    ${MACHINE_ARCH} == "x86_64"
SUBDIR+=	exec_elf64
.endif

.if ${MACHINE_ARCH} == "i386" || \
    ${MACHINE_ARCH} == "x86_64"
SUBDIR+=	amdsmn
SUBDIR+=	amdtemp
SUBDIR+=	amdzentemp
SUBDIR+=	coretemp
SUBDIR+=	est
SUBDIR+=	hdafg
SUBDIR+=	hdaudio
SUBDIR+=	hdaudio_pci
SUBDIR+=	hdaudioverbose
SUBDIR+=	hpet
SUBDIR+=	ichsmb
SUBDIR+=	odcm
SUBDIR+=	powernow
SUBDIR+=	tco
SUBDIR+=	tprof_x86
SUBDIR+=	vmt
.endif

.if ${MACHINE_ARCH} == "x86_64"
SUBDIR+=	nvmm
.endif

.if ${MACHINE_ARCH} == "i386" || \
    ${MACHINE_ARCH} == "x86_64"
SUBDIR+=	ubsec		# Builds on architectures with PCI bus
.endif

.if ${MKSLJIT} != "no"
# No modules for 32-bit arm, mips and powerpc yet.
.if ${MACHINE_ARCH} == "aarch64" || \
    ${MACHINE_ARCH} == "i386"    || \
    ${MACHINE_ARCH} == "sparc"   || \
    ${MACHINE_ARCH} == "x86_64"
SUBDIR+=	bpfjit
SUBDIR+=	sljit
.endif
.endif

#
# ACPI modules
#
.if ${MACHINE_ARCH} == "i386" || \
    ${MACHINE_ARCH} == "ia64" || \
    ${MACHINE_ARCH} == "x86_64"
SUBDIR+=	acpiverbose
.endif

.if ${MACHINE_ARCH} == "i386" || \
    ${MACHINE_ARCH} == "x86_64"
SUBDIR+=	acpiacad
SUBDIR+=	acpibat
SUBDIR+=	acpibut
SUBDIR+=	acpicpu
SUBDIR+=	acpidalb
SUBDIR+=	acpifan
SUBDIR+=	acpilid
SUBDIR+=	acpipmtr
SUBDIR+=	acpitz
SUBDIR+=	acpivga
SUBDIR+=	acpiwdrt
SUBDIR+=	acpiwmi
SUBDIR+=	aibs
SUBDIR+=	asus
SUBDIR+=	fujbp
SUBDIR+=	fujhk
SUBDIR+=	hpacel
SUBDIR+=	hpqlb
SUBDIR+=	thinkpad
SUBDIR+=	wmidell
SUBDIR+=	wmieeepc
SUBDIR+=	wmihp
SUBDIR+=	wmimsi
.endif

.include "${.CURDIR}/../compat/netbsd32/netbsd32.mk"
.if ${COMPAT_USE_NETBSD32} != "no"

SUBDIR+=	compat_netbsd32
SUBDIR+=	compat_netbsd32_09	compat_netbsd32_12
SUBDIR+=	compat_netbsd32_13	compat_netbsd32_16
SUBDIR+=	compat_netbsd32_20	compat_netbsd32_30
SUBDIR+=	compat_netbsd32_40	compat_netbsd32_50
SUBDIR+=	compat_netbsd32_60	compat_netbsd32_80
SUBDIR+=	compat_netbsd32_43
SUBDIR+=	compat_netbsd32_mqueue
SUBDIR+=	compat_netbsd32_nfssrv
SUBDIR+=	compat_netbsd32_ptrace
SUBDIR+=	compat_netbsd32_sysvipc
SUBDIR+=	compat_netbsd32_sysvipc_10
SUBDIR+=	compat_netbsd32_sysvipc_14
SUBDIR+=	compat_netbsd32_sysvipc_50
SUBDIR+=	compat_netbsd32_raid

.if ${MACHINE_ARCH} == "x86_64"
SUBDIR+=	compat_linux32
.endif

.endif

.if ${MACHINE_ARCH} == "i386"
SUBDIR+=	ati_pcigart
SUBDIR+=	compat_freebsd
SUBDIR+=	mach64drm
SUBDIR+=	mgadrm
SUBDIR+=	nsclpcsio
SUBDIR+=	padlock
SUBDIR+=	r128drm
SUBDIR+=	radeondrm
SUBDIR+=	savagedrm
SUBDIR+=	sisdrm
SUBDIR+=	tdfxdrm
SUBDIR+=	viac7temp
SUBDIR+=	viadrmums
.endif

.if ${MACHINE_ARCH} == "i386" || \
    ${MACHINE_ARCH} == "x86_64"
SUBDIR+=	azalia
SUBDIR+=	compat_linux
SUBDIR+=	drm
SUBDIR+=	drmkms
SUBDIR+=	drmkms_agp
SUBDIR+=	drmkms_linux
SUBDIR+=	drmkms_pci
SUBDIR+=	i915drm
SUBDIR+=	i915drmkms
SUBDIR+=	pad
#
# ISA modules
#
SUBDIR+=	aps
SUBDIR+=	finsio
SUBDIR+=	itesio
SUBDIR+=	lm
SUBDIR+=	lm_isa
SUBDIR+=	lm_isa_common
SUBDIR+=	lm_wbsio
SUBDIR+=	wbsio
.endif

.if ${MACHINE_CPU} == "m68k"
SUBDIR+=	compat_aoutm68k
#SUBDIR+=	compat_linux
#SUBDIR+=	compat_sunos
.endif

.if ${MACHINE_ARCH} == "i386" || \
    ${MACHINE_ARCH} == "x86_64" || \
    ${MACHINE_ARCH} == "sparc64"
SUBDIR+=	pwdog
.endif

.include <bsd.own.mk>

#
# NetBSD/usermode support
#
.if ${MACHINE_ARCH} == "i386" || \
    ${MACHINE_ARCH} == "x86_64"
SUBDIR+=	../arch/usermode/modules/syscallemu
.endif

# we need our device mapper for LVM
.if (${MKLVM} != "no")
SUBDIR+= 	dm
.endif

.if (${MKDTRACE} != "no")
SUBDIR+=	cyclic
SUBDIR+=	dtrace
.endif

# we need solaris for the dtrace and zfs modules
.if (${MKDTRACE} != "no" || ${MKZFS} != "no")
SUBDIR+=        solaris
.endif

.if (${MKZFS} != "no")
SUBDIR+=	zfs
.endif

.if (${MKCOMPATMODULES} != "no")
SUBDIR+=	arch
.endif

#
# DTV modules
#
SUBDIR+=	dtv
SUBDIR+=	dtv_math
.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
# tuners/demods
SUBDIR+=	au8522
SUBDIR+=	cx24227
SUBDIR+=	lg3303
SUBDIR+=	mt2131
SUBDIR+=	nxt2k
SUBDIR+=	tvpll
SUBDIR+=	xc3028
SUBDIR+=	xc5k
SUBDIR+=	zl10353
# hardware drivers
SUBDIR+=	auvitek
SUBDIR+=	coram
SUBDIR+=	cxdtv
SUBDIR+=	emdtv

# Intel Integrated Memory Controller and associated SMBus
# (Experimental)
SUBDIR+=	imc
SUBDIR+=	imcsmb

.endif

.if (${MKISCSI} != "no")
SUBDIR+=	iscsi
.endif

# For now, all of these are disabled, pending resolution of how to deal
# with attachment-specific modules and bus-specific modules (as opposed
# to machine- or architecture-specific modules)

.if 0
SUBDIR+=	aac
SUBDIR+=	amr
SUBDIR+=	ataraid
SUBDIR+=	cac
SUBDIR+=	cac_eisa
SUBDIR+=	cac_pci
SUBDIR+=	if_vioif
SUBDIR+=	ld
SUBDIR+=	ld_aac
SUBDIR+=	ld_amr
SUBDIR+=	ld_ataraid
SUBDIR+=	ld_cac
SUBDIR+=	ld_icp
SUBDIR+=	ld_mlx
SUBDIR+=	ld_sdmmc
SUBDIR+=	ld_twa
SUBDIR+=	ld_twe
SUBDIR+=	ld_virtio
SUBDIR+=	mlx
SUBDIR+=	mlx_eisa
SUBDIR+=	mlx_pci
SUBDIR+=	ld_nvme
SUBDIR+=	nvme
SUBDIR+=	twa
SUBDIR+=	twe
SUBDIR+=	viomb
SUBDIR+=	virtio
SUBDIR+=	virtio_pci
SUBDIR+=	vioscsi
.endif

SUBDIR+=	examples	# build these regularly to avoid bit-rot

.include <bsd.subdir.mk>