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