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

# $NetBSD: XEN3_PVHVM,v 1.1 2019/02/14 08:18:25 cherry Exp $

include 	"arch/amd64/conf/std.xen"

options		XENPVHVM

#options 	MULTIPROCESSOR	# Not yet.

options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary

#options 	UVMHIST
#options 	UVMHIST_PRINT
#options 	SYSCALL_DEBUG

#ident		"XEN3_PVHVM-$Revision: 1.1 $"

maxusers	32		# estimated number of users
options 	MAXPHYS=32768	#xbd doesn't handle 64k transfers

# boot messages with MPBIOS, acpi and ioapic can be quite large
options 	MSGBUFSIZE=24576

#options 	USER_LDT	# user-settable LDT; used by WINE

#options 	MTRR		# memory-type range register syscall support

#options 	CONSDEVNAME="\"xencons\""
#options 	CONS_OVERRIDE

options 	INSECURE	# disable kernel security levels - X needs this

options 	RTC_OFFSET=0	# hardware clock is this many mins. west of GMT

options 	KTRACE		# system call tracing via ktrace(1)

options 	SYSVMSG		# System V-like message queues
options 	SYSVSEM		# System V-like semaphores
options 	SYSVSHM		# System V-like memory sharing

options 	MODULAR		# new style module(7) framework
options 	USERCONF	# userconf(4) support
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

# Diagnostic/debugging support options
options 	DIAGNOSTIC	# inexpensive kernel consistency checks
#options 	DEBUG		# expensive debugging checks/support
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 	KGDB		# remote debugger
#options 	KGDB_DEVNAME="\"com\"",KGDB_DEVADDR=0x2f8,KGDB_DEVRATE=57600
#makeoptions	DEBUG="-g"	# compile full symbol table
makeoptions	COPTS="-O2 -fno-omit-frame-pointer"
options DDB_COMMANDONENTER="show registers"

# Compatibility options
#include 	"conf/compat_netbsd15.config"
options 	COMPAT_NETBSD32
options 	COMPAT_LINUX
options 	COMPAT_LINUX32	# req. COMPAT_LINUX and COMPAT_NETBSD32
options 	EXEC_ELF32

# Wedge support
options 	DKWEDGE_AUTODISCOVER	# Automatically add dk(4) instances
options 	DKWEDGE_METHOD_GPT	# Supports GPT partitions as wedges
#options 	DKWEDGE_METHOD_BSDLABEL	# Support disklabel entries as wedges
#options 	DKWEDGE_METHOD_MBR	# Support MBR partitions as wedges
options 	DKWEDGE_METHOD_APPLE	# Support Apple partitions as wedges
#options 	DKWEDGE_METHOD_RDB	# Support RDB partitions as wedges

# 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	NTFS		# Windows/NT file system (experimental)
file-system	CD9660		# ISO 9660 + Rock Ridge file system
file-system	MSDOSFS		# MS-DOS 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 options
options 	QUOTA		# legacy UFS quotas
options 	QUOTA2		# new, in-filesystem UFS quotas
#options 	DISKLABEL_EI	# disklabel Endian Independent support
#options 	FFS_EI		# FFS Endian Independent support
options 	WAPBL		# File system journaling support
#options 	UFS_DIRHASH	# UFS Large Directory Hashing - Experimental
options 	NFSSERVER	# Network File System server
#options 	FFS_NO_SNAPSHOT	# No FFS snapshot support
options 	UFS_EXTATTR	# Extended attribute support for UFS1
#options 	EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and
				# immutable) behave as system flags.

# Networking options
options 	INET		# IP + ICMP + TCP + UDP
options 	INET6		# IPV6

#
# wscons options
#
# builtin terminal emulations
#options 	WSEMUL_SUN		# sun terminal emulation
options 	WSEMUL_VT100		# VT100 / VT220 emulation
# different kernel output - see dev/wscons/wsdisplayvar.h
options 	WS_KERNEL_FG=WSCOL_GREEN
#options 	WS_KERNEL_BG=WSCOL_BLACK
# compatibility to other console drivers
options 	WSDISPLAY_COMPAT_PCVT		# emulate some ioctls
options 	WSDISPLAY_COMPAT_SYSCONS	# emulate some ioctls
options 	WSDISPLAY_COMPAT_USL		# wsconscfg VT handling
options 	WSDISPLAY_COMPAT_RAWKBD		# can get raw scancodes
# console scrolling support.
options 	WSDISPLAY_SCROLLSUPPORT

config		netbsd	root on ? type ?
#config		netbsd	root on wd0a type ffs
#config		netbsd	root on xbd0a type ffs
#config		netbsd	root on xennet0 type nfs

mainbus0	at root

cpu*		at mainbus?

hypervisor*	at mainbus?		# Xen hypervisor
#vcpu*		at hypervisor?		# Xen virtual CPUs
xenbus* 	at hypervisor?		# Xen virtual bus
xencons*	at hypervisor?		# Xen virtual console
xennet* 	at xenbus?		# Xen virtual network interface
xbd*		at xenbus?		# Xen virtual block device
#balloon*	at xenbus?		# Xen balloon device

# PCI pass-through support:
#xpci* at xenbus ?			#Xen3 PCI front end driver
#pci* at xpci ?
# you then need to add your PCI devices drivers below.

cinclude "arch/amd64/conf/GENERIC.local"
cinclude "arch/amd64/conf/XEN3_DOMU.local"

# ISA bus support
isa0	at mainbus?

# Serial Devices

# ISA serial interfaces
#options 	COM_HAYESP		# adds Hayes ESP serial board support
# If a com port is used as Xen console it can't be used by the domain0 kernel
# and there's no easy way to detect this yet. Leave com0 out as it's the
# port usually used for serial console
com0	at isa? port 0x3f8 irq 4	# Standard PC serial ports
com1	at isa? port 0x2f8 irq 3
#com2	at isa? port 0x3e8 irq 5
#com3	at isa? port 0x2e8 irq 9

# ATA (IDE) bus support
# ISA ST506, ESDI, and IDE controllers
# Use flags 0x01 if you want to try to use 32bits data I/O (the driver will
# fall back to 16bits I/O if 32bits I/O are not functional).
# Some controllers pass the initial 32bit test, but will fail later.
wdc0	at isa? port 0x1f0 irq 14 flags 0x00
wdc1	at isa? port 0x170 irq 15 flags 0x00

# IDE drives
# Flags are used only with controllers that support DMA operations
# and mode settings (e.g. some pciide controllers)
# The lowest order four bits (rightmost digit) of the flags define the PIO
# mode to use, the next set of four bits the DMA mode and the third set the
# UltraDMA mode. For each set of four bits, the 3 lower bits define the mode
# to use, and the last bit must be 1 for this setting to be used.
# For DMA and UDMA, 0xf (1111) means 'disable'.
# 0x0fac means 'use PIO mode 4, DMA mode 2, disable UltraDMA'.
# (0xc=1100, 0xa=1010, 0xf=1111)
# 0x0000 means "use whatever the drive claims to support".
atabus* at ata?
wd*	at atabus? drive ? flags 0x0000



# Pseudo-Devices
pseudo-device	pty			# pseudo-terminals

# network pseudo-devices
pseudo-device	bpfilter		# Berkeley packet filter
pseudo-device	loop			# network loopback

# userland interface to drivers, including autoconf and properties retrieval
pseudo-device	drvctl

options 	PAX_MPROTECT=0		# PaX mprotect(2) restrictions
options 	PAX_ASLR=0		# PaX Address Space Layout Randomization