# $NetBSD: GENERIC,v 1.208 2023/02/12 14:50:42 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/x68k/conf/std.x68k"
options INCLUDE_CONFIG_FILE # embed config file in kernel binary
#ident "GENERIC-$Revision: 1.208 $"
makeoptions COPTS="-O2 -fno-reorder-blocks -fno-unwind-tables -fno-omit-frame-pointer"
# See share/mk/sys.mk. -fno-omit-frame-pointer is necessary for
# backtraces in DDB.
maxusers 8
## System kernel configuration. See options(4) for more detail.
## Options for variants of the m68k MPU
## you must have at least the correct one; REQUIRED
options M68030
options M68040
options M68060
## If you want an optimized kernel for a specific processor, use either:
#makeoptions CMACHFLAGS="-m68030"
#makeoptions CMACHFLAGS="-m68040 -Wa,-m68030 -Wa,-m68851"
#makeoptions CMACHFLAGS="-m68060 -Wa,-m68030 -Wa,-m68851"
#### System options specific to the x68k port
options EXTENDED_MEMORY # support for >16MB memory
options FPU_EMULATE # software fpu emulation for MC68030
options FPSP # floating point emulation for MC68040
options M060SP # int/fp emulation for MC68060
#options JUPITER # support for "Jupiter-X" accelerator
#options ZSCONSOLE,ZSCN_SPEED="9600" # use serial console
#### System options that are the same for all ports
## Root device configuration: change the ?'s if you are going to use a
## nonstandard root partition (other than where the kernel is booted from)
## and/or nonstandard root type (not ffs or nfs). Normally this can be
## automagically determined at boot time.
config netbsd root on ? type ?
#config netbsd root on sd0 type ffs
## RTC is offset from GMT; -540 means JST-9
options RTC_OFFSET=-540 # hardware clock is this many mins. west of GMT
## System call tracing (see ktrace(1)).
options KTRACE
## System V compatible IPC subsystem. (msgctl(2), semctl(2), and shmctl(2))
options SYSVMSG # System V message queues
options SYSVSEM # System V semaphores
options SYSVSHM # System V shared memory
## Loadable kernel module support
options MODULAR # new style module(7) framework
options MODULAR_DEFAULT_AUTOLOAD
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
## NFS boot options; not supported currently: needs nfsboot program
#options NFS_BOOT_BOOTPARAM
#options NFS_BOOT_BOOTP
options NFS_BOOT_DHCP
#### Debugging options
## The DDB in-kernel debugger runs at panic (unless DDB_ONPANIC=0), or at
## serial console break or keyboard reset, where the PROM would normally
## intercept. DDB_HISTORY_SIZE adds up/down arrow command history.
options DDB # kernel dynamic debugger
#options DDB_HISTORY_SIZE=100 # enable history editing in DDB
#options DDB_ONPANIC=1 # see also sysctl(7): `ddb.onpanic'
#options PANICBUTTON # interrupt switch invokes DDB
## You may also use gdb, on another computer connected to this machine over
## a serial port. Both KGDB_DEV and KGDB_DEVRATE should be specified;
## KGDB_DEV is a dev_t encoded device number of the serial port to use.
## KGDB is not supported for now.
#options KGDB # support for kernel gdb
#options KGDB_DEV=0xc00 # kgdb device number
#options KGDB_DEVRATE=9600 # baud rate
## Compile the kernel with debugging symbols (`netbsd.gdb' is the debug file),
## such that gdb(1) can be used on a kernel coredump.
#makeoptions DEBUG="-g"
## Adds code to the kernel that does internal consistency checks, and will
## cause the kernel to panic if corruption of internal data structures
## is detected.
#options DIAGNOSTIC # extra kernel sanity checking
## Enable (possibly expensive) debugging code that may also display messages
## on the system console
#options DEBUG
## These options enable verbose messages for several subsystems.
## Warning, these may compile large string tables into the kernel!
#options SCSIVERBOSE # human readable SCSI error messages
#options USBVERBOSE # verbose USB device autoconfig messages
## `INSECURE' turns off the kernel security level (securelevel = 0 always).
## This allows writing to /dev/mem, loading kernel modules while multi-user,
## and other insecurities good only for development work. Do not use this
## option on a production machine.
#options INSECURE
## `FDSCRIPTS' allows non-readable but executable scripts by providing a
## pre-opened opaque file to the script interpreter. `SETUIDSCRIPTS',
## which implies FDSCRIPTS, allows scripts to be set-user-id using the same
## opaque file mechanism. Perl calls this "secure setuid scripts."
#options FDSCRIPTS
#options SETUIDSCRIPTS
## Options for compatibility with previous releases foreign system binaries.
include "conf/compat_netbsd09.config"
options COMPAT_AOUT_M68K # compatibility with NetBSD/m68k a.out
#options COMPAT_M68K4K # NetBSD/m68k4k binaries
#options COMPAT_SUNOS # SunOS 4.x binary compatibility; broken
#options COMPAT_LINUX # Linux/m68k binary compatibility
#options COMPAT_OSSAUDIO # Linux/m68k binary compatibility
## File systems.
file-system FFS # Berkeley Fast Filesystem
file-system NFS # Sun NFS-compatible filesystem client
file-system KERNFS # kernel data-structure filesystem
file-system NULLFS # NULL layered filesystem
#file-system OVERLAY # overlay file system
file-system MFS # memory-based filesystem
#file-system FDESC # user file descriptor filesystem
#file-system UMAPFS # uid/gid remapping filesystem
#file-system LFS # Log-structured filesystem (experimental)
file-system PROCFS # /proc
file-system CD9660 # ISO 9660 + Rock Ridge file system
#file-system UNION # union file system (a little buggy)
file-system MSDOSFS # MS-DOS FAT filesystem(s).
#file-system ADOSFS # AmigaDOS filesystem
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 NFSSERVER # Network File System server
## Network protocol support. In most environments, INET is required.
options INET # IP (Internet Protocol) v4
options INET6 # IPV6
#options IPSEC # IP security
#options IPSEC_DEBUG # debug for IP security
#options GATEWAY # packet forwarding ("router switch")
#options MROUTING # packet forwarding of multicast packets
#options PIM # Protocol Independent Multicast
#options NETATALK # AppleTalk (over Ethernet) protocol
#options NTP # Network Time Protocol in-kernel support
#options PPS_SYNC # Add serial line synchronization for NTP
#options PPP_BSDCOMP # Add BSD compression to ppp device
#options PPP_DEFLATE # Add deflate (libz) compression to ppp device
#options PPP_FILTER # Add active filters for ppp (via 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
#### Device configurations
## Fundamental devices; see also std.x68k
dmac0 at intio0 addr 0xe84000 # DMA controller
xel0 at intio0
opm0 at intio0 addr 0xe90000 # OPM: required for fdc
## Display devices and console
grfbus0 at mainbus0 # bitmapped displays
grf0 at grfbus0 addr 0 # multiplane graphics
grf1 at grfbus0 addr 1 # flexible graphics
kbd0 at mfp0 # standard keyboard
ite0 at grf0 grfaddr 0 # internal terminal emulator
options ITE_KERNEL_ATTR=4 # bold for kernel messages
# see /sys/arch/x68k/dev/itevar.h
## floppy disks
fdc0 at intio0 addr 0xe94000 intr 96 dma 0 dmaintr 100 # floppy controller
fd* at fdc0 unit ? # builtin floppy drives
## SCSI devices
scsirom0 at intio0 addr 0xfc0000 # Built-in SCSI BIOS
scsirom1 at intio0 addr 0xea0020 # External SCSI BIOS
spc0 at scsirom0 # genuin SCSI
spc1 at scsirom1 # genuin SCSI
scsibus* at spc?
mha0 at scsirom1 # Mankai MK-HA1 (Mach-2)
scsibus* at mha0
sd* at scsibus? target ? lun ? # SCSI disks
cd* at scsibus? target ? lun ? # SCSI CD-ROMs
#st* at scsibus? target ? lun ? # SCSI tapes
#ss* at scsibus? target ? lun ? # SCSI scanners
#ch* at scsibus? target ? lun ? # SCSI changer devices
#uk* at scsibus? target ? lun ? # SCSI unknown devices
## Ports
zsc0 at intio0 addr 0xe98000 intr 112
zstty0 at zsc0 channel 0 # built-in RS-232C
ms0 at zsc0 channel 1 # standard mouse
#zsc1 at intio0 addr 0xeafc00 intr 113
#zstty2 at zsc1 channel 0
#zstty3 at zsc1 channel 1
#zsc2 at intio0 addr 0xeafc10 intr 114
#zstty4 at zsc2 channel 0
#zstty5 at zsc2 channel 1
par0 at intio0 addr 0xe8c000 # Builtin printer port
sram0 at intio0 addr 0xed0000 # battery-backuped static RAM
pseudo-device bell # OPM bell
powsw0 at mfp0 # Front switch
#powsw1 at mfp0 # External power switch
com0 at intio0 addr 0xefff00 intr 240 # PSX16550, port1
com1 at intio0 addr 0xefff10 intr 241 # PSX16550, port2
## Audio device
vs0 at intio0 addr 0xe92000 dma 3 dmaintr 106
audio* at vs?
spkr* at audio? # PC speaker (synthesized)
## Network interfaces
ne* at intio0 addr 0xece300 intr 249 # Nereid Ethernet
ne* at intio0 addr 0xeceb00 intr 248 # Nereid Ethernet
neptune0 at intio0 addr 0xece000 intr 249 # Neptune-X
neptune1 at intio0 addr 0xece400 intr 249 # Neptune-X at alt. addr.
ne* at neptune? addr 0x300 # NE2000 or clone
## Bank memory disk
bmd* at intio0 addr 0xece3f0 # Nereid
bmd* at intio0 addr 0xecebf0 # Nereid
## MII/PHY support for USB ethernet
#acphy* at mii? phy ?
#rgephy* at mii? phy ?
#rlphy* at mii? phy ?
#ukphy* at mii? phy ?
## USB Controller and Devices; Experimental
# Nereid USB controllers
#slhci0 at intio0 addr 0xece380 intr 251
#slhci1 at intio0 addr 0xeceb80 intr 250
#options SLHCI_DEBUG
# USB bus support
#usb* at slhci?
# USB Hubs
#uhub* at usb?
#uhub* at uhub? port ?
# USB HID device
#uhidev* at uhub? port ? configuration ? interface ?
# USB Mice; not supported wscons yet
#ums* at uhidev? reportid ?
#wsmouse* at ums? mux 0
# USB Keyboards; not supported wscons yet
#ukbd* at uhidev? reportid ?
#wskbd* at ukbd? console ? mux 1
# USB serial adapter
#ucycom* at uhidev? reportid ?
# USB Generic HID devices
#uhid* at uhidev? reportid ?
# USB Printer
#ulpt* at uhub? port ? configuration ? interface ?
# USB Modem
#umodem* at uhub? port ? configuration ?
#ucom* at umodem?
# Option N.V. Wireless WAN modems
#uhso* at uhub? port ? configuration ?
# USB Mass Storage
#umass* at uhub? port ? configuration ? interface ?
#atapibus* at umass?
#scsibus* at umass?
# USB audio
#uaudio* at uhub? port ? configuration ?
# USB MIDI
#umidi* at uhub? port ? configuration ?
# USB IrDA
# USB-IrDA bridge spec
#uirda* at uhub? port ? configuration ? interface ?
#irframe* at uirda?
# SigmaTel STIr4200 USB/IrDA Bridge
#ustir* at uhub? port ?
#irframe* at ustir?
# USB Ethernet adapters
#aue* at uhub? port ? # ADMtek AN986 Pegasus based adapters
#axe* at uhub? port ? # ASIX AX88172 based adapters
#cue* at uhub? port ? # CATC USB-EL1201A based adapters
#kue* at uhub? port ? # Kawasaki LSI KL5KUSB101B based adapters
#mue* at uhub? port ? # Microchip LAN75xx/LAN78xx based adapters
#udav* at uhub? port ? # Davicom DM9601 based adapters
#ure* at uhub? port ? # Realtek RTL8152/RTL8153 based adapters
#url* at uhub? port ? # Realtek RTL8150L based adapters
# Prolific PL2301/PL2302 host-to-host adapter
#upl* at uhub? port ?
# Serial adapters
#uftdi* at uhub? port ? # FTDI FT8U100AX serial adapter
#ucom* at uftdi? portno ?
#umct* at uhub? port ? # MCT USB-RS232 serial adapter
#ucom* at umct? portno ?
#uplcom* at uhub? port ? # I/O DATA USB-RSAQ2 serial adapter
#ucom* at uplcom? portno ?
#uvscom* at uhub? port ? # SUNTAC Slipper U VS-10U serial adapter
#ucom* at uvscom? portno ?
# USB Handspring Visor
#uvisor* at uhub? port ?
#ucom* at uvisor?
# Kyocera AIR-EDGE PHONE
#ukyopon* at uhub? port ?
#ucom* at ukyopon? portno ?
# USB scanners that use SCSI emulation, e.g., HP5300
#usscanner* at uhub? port ?
#scsibus* at usscanner? channel ?
# D-Link DSB-R100 USB radio
#udsbr* at uhub? port ?
#radio* at udsbr?
# USB Generic driver
#ugen* at uhub? port ?
#### Pseudo devices
#
# accept filters
#pseudo-device accf_data # "dataready" accept filter
#pseudo-device accf_http # "httpready" accept filter
## A disk-like interface to files. Can be used to create floppy, CD,
## miniroot images, etc.
pseudo-device vnd
#options VND_COMPRESSION # compressed vnd(4)
## Concatenated and striped disks; with this, you can create a software-based
## disk array similar to a "RAID 0" setup. See ccd(4).
#pseudo-device ccd
## Cryptographic disk devices. See cgd(4).
#pseudo-device cgd
## RAIDframe disk driver: software RAID driver. See raid(4).
pseudo-device raid
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
## Memory disk device, used on boot floppies with compressed
## kernel-plus-root-disk images.
#pseudo-device md
## Loopback network interface; required
pseudo-device loop
## SLIP and CSLIP interfaces, for IP over a serial line.
pseudo-device sl
## PPP, the successor to SLIP. See pppd(8).
pseudo-device ppp
## PPP over Ethernet (RFC 2516)
pseudo-device pppoe
## Network "tunnel" device, allowing protocol stacks to run in the userland.
## This is used by the third-party user-mode "ppp" program, and others.
#pseudo-device tun
#pseudo-device tap # virtual Ethernet
## Generic L3 over IP tunnel
#pseudo-device gre # generic L3 over IP tunnel
## Berkeley Packet Filter, required to run RARPD. A generic C-language
## interface that allows selective examining of incoming packets.
pseudo-device bpfilter
#pseudo-device carp # Common Address Redundancy Protocol
#pseudo-device npf # NPF packet filter
## for IPv6
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
## IEEE 802.1Q Virtual LAN encapsulation, see vlan(4).
pseudo-device vlan
## Simple inter-network traffic bridging
pseudo-device bridge
#pseudo-device vether # Virtual Ethernet for bridge
pseudo-device agr # IEEE 802.3ad link aggregation
#### Other device configuration
## Pseudo ttys, required for network logins and programs like screen.
pseudo-device pty # pseudo-terminals
## Random device, used to implement /dev/random (a source of random noise),
## and generate randomness for some kernel formulae.
pseudo-device clockctl # user control of clock subsystem
pseudo-device drvctl # user control of drive subsystem
pseudo-device ksyms # /dev/ksyms
#pseudo-device fss # file system snapshot device
pseudo-device swwdog # software watchdog timer -- swwdog(4)
# Veriexec
# include "dev/veriexec.config"
# Pull in optional local configuration - always at end
cinclude "arch/x68k/conf/GENERIC.local"