11.118Sthorpej#	$NetBSD: GENERIC,v 1.118 2025/10/13 14:49:16 thorpej Exp $
21.1Sgavan#
31.37Sabs# GENERIC machine description file
41.1Sgavan#
51.37Sabs# This machine description file is used to generate the default NetBSD
61.37Sabs# kernel.  The generic kernel does not include all options, subsystems
71.37Sabs# and device drivers, but should be useful for most applications.
81.37Sabs#
91.37Sabs# The machine description file can be customised for your specific
101.37Sabs# machine to reduce the kernel size and improve its performance.
111.37Sabs#
121.37Sabs# For further information on compiling NetBSD kernels, see the config(8)
131.37Sabs# man page.
141.37Sabs#
151.37Sabs# For further information on hardware support for this architecture, see
161.37Sabs# the intro(4) man page.  For further information about kernel options
171.37Sabs# for this architecture, see the options(4) man page.  For an explanation
181.37Sabs# of each device driver in this file see the section 4 man page for the
191.37Sabs# device.
201.1Sgavan
211.1Sgavaninclude	"arch/iyonix/conf/std.iyonix"
221.1Sgavan
231.1Sgavanoptions 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
241.1Sgavan
251.118Sthorpej#ident 		"GENERIC-$Revision: 1.118 $"
261.1Sgavan
271.37Sabsmaxusers	32		# estimated number of users
281.1Sgavan
291.96Smrgoptions 	MSGBUFSIZE=65536
301.1Sgavan
311.1Sgavan# CPU options
321.1Sgavan
331.1Sgavan# For XScale systems
341.1Sgavanoptions 	CPU_XSCALE_80321	# Support the XScale core
351.1Sgavanmakeoptions	CPUFLAGS="-mcpu=xscale"
361.1Sgavan
371.1Sgavan# Architecture options
381.1Sgavanoptions 	XSCALE_CACHE_READ_WRITE_ALLOCATE
391.1Sgavan#options 	HZ=512
401.1Sgavan
411.37Sabs# Standard system options
421.1Sgavan
431.37Sabsoptions 	RTC_OFFSET=0	# hardware clock is this many mins. west of GMT
441.37Sabs#options 	NTP		# NTP phase/frequency locked loop
451.1Sgavan
461.37Sabs#options 	KTRACE		# system call tracing via ktrace(1)
471.1Sgavan
481.1Sgavan
491.1Sgavan#options 	SYSVMSG		# System V-like message queues
501.1Sgavan#options 	SYSVSEM		# System V-like semaphores
511.1Sgavan#options 	SYSVSHM		# System V-like memory sharing
521.1Sgavan
531.1Sgavan# Device options
541.1Sgavan
551.1Sgavan# Console options.  The default console is speed is 115200 baud.
561.1Sgavan#options 	CONSPEED=9600		# Console speed
571.1Sgavan
581.1Sgavan# Miscellaneous kernel options
591.1Sgavanoptions 	KTRACE		# system call tracing, a la ktrace(1)
601.1Sgavanoptions 	IRQSTATS	# manage IRQ statistics
611.1Sgavan#options 	SCSIVERBOSE	# Verbose SCSI errors
621.1Sgavanoptions 	PCIVERBOSE	# Verbose PCI descriptions
631.1Sgavanoptions 	MIIVERBOSE	# Verbose MII autoconfuration messages
641.1Sgavan#options 	PCI_CONFIG_DUMP	# verbosely dump PCI config space
651.37Sabs
661.1Sgavanoptions 	USERCONF	# userconf(4) support
671.37Sabs#options 	PIPE_SOCKETPAIR	# smaller, but slower pipe(2)
681.37Sabs#options 	SYSCTL_INCLUDE_DESCR	# Include sysctl descriptions in kernel
691.1Sgavan
701.1Sgavan# Development and Debugging options
711.1Sgavan
721.97Ssevan# Alternate buffer queue strategies for better responsiveness under high
731.97Ssevan# disk I/O load.
741.37Sabs#options 	BUFQ_READPRIO
751.107Ssevanoptions 	BUFQ_PRIOCSCAN
761.37Sabs
771.37Sabs# Diagnostic/debugging support options
781.37Sabs#options 	DIAGNOSTIC	# expensive kernel consistency checks
791.37Sabs#options 	DEBUG		# expensive debugging checks/support
801.37Sabsoptions 	DDB		# in-kernel debugger
811.82Sszptvlfn#options 	DDB_ONPANIC=1	# see also sysctl(7): `ddb.onpanic'
821.37Sabsoptions 	DDB_HISTORY_SIZE=512	# enable history editing in DDB
831.37Sabs#options 	DDB_KEYCODE=0x40
841.37Sabs#options 	KGDB		# remote debugger
851.37Sabs#options 	KGDB_DEVNAME="\"com\"",KGDB_DEVADDR=0x3f8,KGDB_DEVRATE=9600
861.105Smacallan#makeoptions	DEBUG="-g"	# compile full symbol table
871.85Sjoergmakeoptions	COPY_SYMTAB=1
881.111Sskrll#options 	UVMHIST		# kernhist for uvm/pmap subsystems
891.1Sgavan#options 	VERBOSE_INIT_ARM # verbose bootstraping messages
901.1Sgavan
911.37Sabs#options 	PMAP_INCLUDE_PTE_SYNC
921.37Sabs#options 	LOCKDEBUG
931.37Sabs
941.37Sabs
951.37Sabs# Compatibility options
961.96Smrg
971.105Smacallaninclude 	"conf/compat_netbsd70.config"
981.96Smrgoptions 	COMPAT_NETBSD32	# allow running arm (e.g. non-earm) binaries
991.37Sabs
1001.37Sabs# File systems
1011.37Sabsfile-system 	FFS		# UFS
1021.37Sabs#file-system 	EXT2FS		# second extended file system (linux)
1031.37Sabs#file-system 	LFS		# log-structured file system
1041.37Sabs#file-system 	MFS		# memory file system
1051.37Sabsfile-system 	NFS		# Network File System client
1061.37Sabs#file-system 	NTFS		# Windows/NT file system (experimental)
1071.37Sabsfile-system 	CD9660		# ISO 9660 + Rock Ridge file system
1081.37Sabsfile-system 	MSDOSFS		# MS-DOS file system
1091.37Sabs#file-system 	FDESC		# /dev/fd
1101.105Smacallanfile-system 	KERNFS		# /kern
1111.37Sabs#file-system 	NULLFS		# loopback file system
1121.37Sabs#file-system 	OVERLAY		# overlay file system
1131.105Smacallanfile-system 	PROCFS		# /proc
1141.37Sabs#file-system 	UMAPFS		# NULLFS + uid and gid remapping
1151.37Sabs#file-system 	UNION		# union file system
1161.37Sabs#file-system	CODA		# Coda File System; also needs vcoda (below)
1171.105Smacallanfile-system	PTYFS		# /dev/ptm support
1181.105Smacallanfile-system	TMPFS		# Efficient memory file-system
1191.37Sabs#file-system	UDF		# experimental - OSTA UDF CD/DVD file-system
1201.37Sabs#file-system	HFS		# experimental - Apple HFS+ (read-only)
1211.37Sabsfile-system     FILECORE        # Acorn filecore file system
1221.37Sabs
1231.37Sabs# File system options
1241.114Ssimonb#options 	FFS_EI		# FFS Endian Independent support
1251.114Ssimonboptions 	FFS_NO_SNAPSHOT	# No FFS snapshot support
1261.62Sbouyer#options 	QUOTA		# legacy UFS quotas
1271.62Sbouyer#options 	QUOTA2		# new, in-filesystem UFS quotas
1281.114Ssimonb#options 	UFS_DIRHASH	# UFS Large Directory Hashing
1291.114Ssimonb#options 	UFS_EXTATTR	# Extended attribute support for UFS1
1301.69Sdhollandoptions 	WAPBL		# File system journaling support
1311.114Ssimonb#options 	NFSSERVER	# Network File System server
1321.37Sabs
1331.37Sabs# Networking options
1341.37Sabs#options 	GATEWAY		# packet forwarding
1351.37Sabsoptions 	INET		# IP + ICMP + TCP + UDP
1361.105Smacallanoptions 	INET6		# IPV6
1371.37Sabs#options 	IPSEC		# IP security
1381.37Sabs#options 	IPSEC_DEBUG	# debug for IP security
1391.37Sabs#options 	MROUTING	# IP multicast routing
1401.37Sabs#options 	PIM		# Protocol Independent Multicast
1411.37Sabs#options 	NETATALK	# AppleTalk networking protocols
1421.37Sabs#options 	PPP_BSDCOMP	# BSD-Compress compression support for PPP
1431.37Sabs#options 	PPP_DEFLATE	# Deflate compression support for PPP
1441.37Sabs#options 	PPP_FILTER	# Active filter support for PPP (requires bpf)
1451.37Sabs#options 	TCP_DEBUG	# Record last TCP_NDEBUG packets with SO_DEBUG
1461.37Sabs
1471.37Sabs#options 	ALTQ		# Manipulate network interfaces' output queues
1481.37Sabs#options 	ALTQ_BLUE	# Stochastic Fair Blue
1491.37Sabs#options 	ALTQ_CBQ	# Class-Based Queueing
1501.37Sabs#options 	ALTQ_CDNR	# Diffserv Traffic Conditioner
1511.37Sabs#options 	ALTQ_FIFOQ	# First-In First-Out Queue
1521.37Sabs#options 	ALTQ_FLOWVALVE	# RED/flow-valve (red-penalty-box)
1531.37Sabs#options 	ALTQ_HFSC	# Hierarchical Fair Service Curve
1541.37Sabs#options 	ALTQ_LOCALQ	# Local queueing discipline
1551.37Sabs#options 	ALTQ_PRIQ	# Priority Queueing
1561.37Sabs#options 	ALTQ_RED	# Random Early Detection
1571.37Sabs#options 	ALTQ_RIO	# RED with IN/OUT
1581.37Sabs#options 	ALTQ_WFQ	# Weighted Fair Queueing
1591.37Sabs
1601.37Sabs
1611.37Sabsoptions 	NFS_BOOT_DHCP,NFS_BOOT_BOOTPARAM
1621.37Sabs
1631.105Smacallan#options 	DKWEDGE_AUTODISCOVER
1641.105Smacallan#options 	DKWEDGE_METHOD_BSDLABEL
1651.105Smacallan#options 	DKWEDGE_METHOD_MBR
1661.105Smacallan
1671.105Smacallanoptions 	INSECURE
1681.105Smacallan
1691.37Sabs# Kernel root file system and dump configuration.
1701.37Sabsconfig		netbsd	root on ? type ?
1711.105Smacallan#config		netbsd	root on wd1a type ffs
1721.105Smacallan#config		netbsd	root on wm0 type nfs
1731.105Smacallan#config		netbsd	root on "wedge:system/a" type ffs
1741.1Sgavan
1751.37Sabs#
1761.37Sabs# Device configuration
1771.37Sabs#
1781.1Sgavan
1791.37Sabsmainbus0 at root
1801.1Sgavan
1811.37Sabscpu0 at mainbus?
1821.1Sgavan
1831.1Sgavan# i80321 I/O Processor peripheral support
1841.1Sgavaniopxs*          at mainbus?
1851.1Sgavan
1861.1Sgavaniopaau*         at iopxs?               # Application Accelerator Unit
1871.110Sskrlliopiic*         at iopxs?               # I2C Controller Unit(s)
1881.1Sgavaniic0            at iopiic?
1891.1Sgavaniic1            at iopiic?
1901.1Sgavaniopwdog*        at iopxs?               # Watchdog timer
1911.1Sgavanpci0            at iopxs? bus ?         # PCI/PCI-X support
1921.1Sgavan
1931.55Sgavan# The curious can see their RAM timings.
1941.55Sgavanspdmem* at iic1 addr 0x56
1951.55Sgavan
1961.118Sthorpej# onboard RTC.
1971.105Smacallandsrtc0 	at iic0 addr 0x68
1981.105Smacallan
1991.1Sgavan# PCI bridges
2001.37Sabsppb*	at pci? dev ? function ?	# PCI-PCI bridges
2011.37Sabspci*	at ppb? bus ?
2021.37Sabs# XXX 'puc's aren't really bridges, but there's no better place for them here
2031.37Sabs#puc*	at pci? dev ? function ?	# PCI "universal" comm. cards
2041.1Sgavan
2051.55Sgavan#options COMCONSOLE
2061.55Sgavan
2071.1Sgavan# VGA
2081.1Sgavan#vga*            at pci? dev ? function ?
2091.55Sgavangenfb*		at pci? dev ? function ?
2101.105Smacallan#options 	GENFB_PCI_DEBUG
2111.105Smacallan#gffb*		at pci? dev ? function ?
2121.105Smacallan
2131.105Smacallan# these exist but aren't configured by RISC OS
2141.105Smacallan#alipm*		at pci?
2151.105Smacallan#iic*		at alipm?
2161.55Sgavan
2171.55Sgavan# Display
2181.55Sgavanwsdisplay0      at wsemuldisplaydev? console 1
2191.55Sgavanwsdisplay*      at wsemuldisplaydev?
2201.55Sgavan
2211.105Smacallan#options 	WSEMUL_SUN		# sun terminal emulation
2221.105Smacallanoptions 	WSEMUL_VT100		# vt100 terminal emulation
2231.105Smacallanoptions 	WS_DEFAULT_FG=WSCOL_BLACK
2241.105Smacallanoptions 	WS_DEFAULT_BG=WSCOL_LIGHT_WHITE
2251.105Smacallanoptions 	WS_KERNEL_FG=WSCOL_GREEN
2261.105Smacallanoptions 	WS_KERNEL_BG=WSCOL_LIGHT_WHITE
2271.105Smacallanoptions 	WSDISPLAY_COMPAT_PCVT		# emulate some ioctls
2281.105Smacallanoptions 	WSDISPLAY_COMPAT_SYSCONS	# emulate some ioctls
2291.105Smacallanoptions 	WSDISPLAY_COMPAT_USL		# VT handling
2301.105Smacallanoptions 	WSDISPLAY_COMPAT_RAWKBD		# can get raw scancodes
2311.105Smacallan#options 	WSDISPLAY_DEFAULTSCREENS=4
2321.105Smacallanoptions 	FONT_GO_MONO12x23
2331.105Smacallanoptions		WSDISPLAY_SCROLLSUPPORT
2341.105Smacallanoptions 	VCONS_DRAW_INTR
2351.105Smacallanoptions 	RASOPS_DEFAULT_WIDTH=100
2361.105Smacallanoptions 	RASOPS_DEFAULT_HEIGHT=30
2371.37Sabs
2381.1Sgavan# IDE and related devices
2391.1Sgavan# PCI IDE controllers - see pciide(4) for supported hardware.
2401.1Sgavan# The 0x0001 flag force the driver to use DMA, even if the driver doesn't know
2411.1Sgavan# how to set up DMA modes for this chip. This may work, or may cause
2421.1Sgavan# a machine hang with some controllers.
2431.105Smacallan#pciide* 	at pci? dev ? function ? flags 0x0000	# GENERIC pciide driver
2441.1Sgavanaceride* 	at pci? dev ? function ?	# Acer Lab IDE controllers
2451.105Smacallan#mvsata* 	at pci? dev ? function ?
2461.37Sabs
2471.1Sgavan# ATA (IDE) bus support
2481.1Sgavanatabus* at ata?
2491.37Sabs#options	ATADEBUG
2501.1Sgavan
2511.1Sgavan# IDE drives
2521.1Sgavan# Flags are used only with controllers that support DMA operations
2531.1Sgavan# and mode settings (e.g. some pciide controllers)
2541.1Sgavan# The lowest order four bits (rightmost digit) of the flags define the PIO
2551.1Sgavan# mode to use, the next set of four bits the DMA mode and the third set the
2561.1Sgavan# UltraDMA mode. For each set of four bits, the 3 lower bits define the mode
2571.1Sgavan# to use, and the last bit must be 1 for this setting to be used.
2581.1Sgavan# For DMA and UDMA, 0xf (1111) means 'disable'.
2591.1Sgavan# 0x0fac means 'use PIO mode 4, DMA mode 2, disable UltraDMA'.
2601.1Sgavan# (0xc=1100, 0xa=1010, 0xf=1111)
2611.1Sgavan# 0x0000 means "use whatever the drive claims to support".
2621.1Sgavanwd*	at atabus? drive ? flags 0x0000
2631.1Sgavan
2641.1Sgavan# ATAPI bus support
2651.1Sgavanatapibus* at atapi?
2661.1Sgavan
2671.1Sgavan# ATAPI devices
2681.1Sgavan# flags have the same meaning as for IDE drives.
2691.1Sgavan# XXX No DMA on IDE devices for now
2701.1Sgavancd*	at atapibus? drive ? flags 0x0ff0	# ATAPI CD-ROM drives
2711.1Sgavansd*	at atapibus? drive ? flags 0x0000	# ATAPI disk drives
2721.1Sgavanst*	at atapibus? drive ? flags 0x0000	# ATAPI tape drives
2731.1Sgavanuk*	at atapibus? drive ? flags 0x0000	# ATAPI unknown
2741.1Sgavan
2751.37Sabs
2761.37Sabs# Network Interfaces
2771.37Sabs
2781.105Smacallan# onboard ethernet
2791.1Sgavanwm*	at pci? dev ? function ?	# Intel 8254x gigabit
2801.1Sgavan
2811.1Sgavan# MII/PHY support
2821.1Sgavanmakphy* at mii? phy ?			# Marvell Semiconductor 88E1000 PHYs
2831.1Sgavanukphy*	at mii? phy ?			# generic unknown PHYs
2841.1Sgavan
2851.37Sabs
2861.1Sgavan# USB Controller and Devices
2871.1Sgavan
2881.105Smacallan# Iyonix ships with an ehci/ohci card
2891.105Smacallanehci*	at pci?	dev ? function ?	# Enhanced Host Controller
2901.1Sgavanohci*	at pci?	dev ? function ?	# Open Host Controller
2911.105Smacallan#uhci*	at pci?	dev ? function ?	# Universal Host Controller (Intel)
2921.41Skiyohara
2931.1Sgavan# USB bus support
2941.105Smacallanusb*	at ehci?
2951.1Sgavanusb*	at ohci?
2961.105Smacallan#usb*	at uhci?
2971.1Sgavan#usb*	at slhci?
2981.1Sgavan
2991.1Sgavan# USB Hubs
3001.37Sabsuhub*	at usb?
3011.37Sabsuhub*	at uhub? port ?
3021.1Sgavan
3031.1Sgavan# USB HID device
3041.37Sabsuhidev*	at uhub? port ? configuration ? interface ?
3051.1Sgavan
3061.1Sgavan# USB Mice
3071.37Sabsums*	at uhidev? reportid ?
3081.37Sabswsmouse* at ums? mux 0
3091.1Sgavan
3101.1Sgavan# USB eGalax touch-panel
3111.37Sabs#uep*	at uhub? port ?
3121.37Sabs#wsmouse* at uep? mux 0
3131.1Sgavan
3141.1Sgavan# USB Keyboards
3151.37Sabsukbd*	at uhidev? reportid ?
3161.37Sabswskbd*	at ukbd? console ? mux 1
3171.1Sgavan
3181.1Sgavan# USB Generic HID devices
3191.37Sabsuhid*	at uhidev? reportid ?
3201.1Sgavan
3211.1Sgavan# USB Mass Storage
3221.37Sabsumass*	at uhub? port ? configuration ? interface ?
3231.1Sgavan
3241.1Sgavan# USB audio
3251.37Sabsuaudio*	at uhub? port ? configuration ?
3261.1Sgavan
3271.1Sgavan# USB MIDI
3281.37Sabs#umidi* at uhub? port ? configuration ?
3291.1Sgavan
3301.1Sgavan# USB Ethernet adapters
3311.37Sabs#axe*	at uhub? port ?		# ASIX AX88172 based adapters
3321.1Sgavan
3331.37Sabsuplcom* at uhub? port ? 	# I/O DATA USB-RSAQ2 serial adapter
3341.37Sabsucom*	at uplcom? portno ?
3351.1Sgavan
3361.1Sgavan# USB Generic driver
3371.37Sabs#ugen*	at uhub? port ?
3381.1Sgavan
3391.1Sgavan
3401.105Smacallan# Iyonix onboard audio
3411.1Sgavanautri*	at pci? dev ? function ?	# Trident 4DWAVE based AC'97 Audio
3421.1Sgavan
3431.1Sgavan# Audio support
3441.1Sgavanaudio*	at audiobus?
3451.1Sgavan
3461.93Schristosspkr*	at audio?		# PC speaker (synthesized)
3471.91Snat
3481.1Sgavan# On-board device support
3491.37Sabs
3501.1Sgavanobio*	at mainbus?
3511.105Smacallancom1	at obio? addr 0x900003e8 xint 1 # on-board UART
3521.1Sgavancom0	at obio? addr 0x900002f8 xint 1 # on-board UART
3531.1Sgavan#com*	at obio? addr 0x900003e8 xint 1 # on-board UART
3541.1Sgavan#com*	at obio? addr 0x900003f8 xint 1 # on-board UART
3551.1Sgavan
3561.1Sgavan# Pseudo-Devices
3571.1Sgavan
3581.37Sabs#pseudo-device 	crypto		# /dev/crypto device
3591.37Sabs#pseudo-device	swcrypto	# software crypto implementation
3601.37Sabs
3611.1Sgavan# disk/mass storage pseudo-devices
3621.37Sabs
3631.59Spookapseudo-device	fss			# file system snapshot device
3641.37Sabs
3651.1Sgavan# network pseudo-devices
3661.26Srpaulopseudo-device	bpfilter		# Berkeley packet filter
3671.107Ssevanpseudo-device	carp			# Common Address Redundancy Protocol
3681.99Smaxv#pseudo-device	npf			# NPF packet filter
3691.1Sgavanpseudo-device	loop			# network loopback
3701.37Sabs#pseudo-device	ppp			# Point-to-Point Protocol
3711.37Sabs#pseudo-device	pppoe			# PPP over Ethernet (RFC 2516)
3721.37Sabs#pseudo-device	sl			# Serial Line IP
3731.37Sabs#pseudo-device	irframetty		# IrDA frame line discipline
3741.37Sabs#pseudo-device	tap			# virtual Ethernet
3751.37Sabs#pseudo-device	tun			# network tunneling over tty
3761.37Sabs#pseudo-device	gre			# generic L3 over IP tunnel
3771.37Sabs#pseudo-device	gif			# IPv[46] over IPv[46] tunnel (RFC1933)
3781.37Sabs#pseudo-device	faith			# IPv[46] tcp relay translation i/f#
3791.37Sabs#pseudo-device	stf			# 6to4 IPv6 over IPv4 encapsulation
3801.37Sabs#pseudo-device	vlan			# IEEE 802.1q encapsulation
3811.37Sabs#pseudo-device	bridge			# simple inter-network bridging
3821.113Sroy#pseudo-device	vether			# Virtual Ethernet for bridge
3831.38Smartin#pseudo-device	agr			# IEEE 802.3ad link aggregation
3841.37Sabs# srt is EXPERIMENTAL
3851.37Sabs#pseudo-device	srt			# source-address-based routing
3861.1Sgavan
3871.50Stls#
3881.50Stls# accept filters
3891.50Stlspseudo-device   accf_data		# "dataready" accept filter
3901.50Stlspseudo-device   accf_http		# "httpready" accept filter
3911.50Stls
3921.1Sgavan# miscellaneous pseudo-devices
3931.1Sgavanpseudo-device	pty			# pseudo-terminals
3941.37Sabs#options 	RND_COM			# use "com" randomness as well (BROKEN)
3951.1Sgavanpseudo-device	clockctl		# user control of clock subsystem
3961.106Sisakipseudo-device	drvctl			# user control of drive subsystem
3971.1Sgavanpseudo-device	ksyms			# /dev/ksyms
3981.115Sriastradpseudo-device 	swwdog			# software watchdog timer -- swwdog(4)
3991.1Sgavan
4001.37Sabs# wscons pseudo-devices
4011.37Sabspseudo-device	wsmux			# mouse & keyboard multiplexor
4021.55Sgavanpseudo-device	wsfont
4031.37Sabs
4041.107Ssevaninclude "dev/veriexec.config"
4051.37Sabs
4061.105Smacallan#options PAX_MPROTECT=0                        # PaX mprotect(2) restrictions
4071.116Sabs
4081.116Sabs# Pull in optional local configuration - always at end
4091.116Sabscinclude	"arch/iyonix/conf/GENERIC.local"
410