11.10Schristos#	$NetBSD: IYONIX,v 1.10 2024/01/29 18:27:11 christos Exp $
21.1Smacallan#
31.1Smacallan# GENERIC machine description file
41.1Smacallan#
51.1Smacallan# This machine description file is used to generate the default NetBSD
61.1Smacallan# kernel.  The generic kernel does not include all options, subsystems
71.1Smacallan# and device drivers, but should be useful for most applications.
81.1Smacallan#
91.1Smacallan# The machine description file can be customised for your specific
101.1Smacallan# machine to reduce the kernel size and improve its performance.
111.1Smacallan#
121.1Smacallan# For further information on compiling NetBSD kernels, see the config(8)
131.1Smacallan# man page.
141.1Smacallan#
151.1Smacallan# For further information on hardware support for this architecture, see
161.1Smacallan# the intro(4) man page.  For further information about kernel options
171.1Smacallan# for this architecture, see the options(4) man page.  For an explanation
181.1Smacallan# of each device driver in this file see the section 4 man page for the
191.1Smacallan# device.
201.1Smacallan
211.1Smacallaninclude	"arch/evbarm/conf/std.iyonix"
221.1Smacallan
231.1Smacallanoptions 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
241.1Smacallan
251.10Schristos#ident 		"GENERIC-$Revision: 1.10 $"
261.1Smacallan
271.1Smacallanmaxusers	32		# estimated number of users
281.1Smacallan
291.1Smacallanoptions 	MSGBUFSIZE=65536
301.1Smacallan
311.1Smacallan# CPU options
321.1Smacallan
331.1Smacallan# For XScale systems
341.1Smacallanoptions 	CPU_XSCALE_80321	# Support the XScale core
351.1Smacallanmakeoptions	CPUFLAGS="-mcpu=xscale"
361.1Smacallan
371.1Smacallan# Architecture options
381.1Smacallanoptions 	XSCALE_CACHE_READ_WRITE_ALLOCATE
391.1Smacallan#options 	HZ=512
401.1Smacallanmakeoptions	CPUFLAGS="-mcpu=xscale"
411.1Smacallan
421.1Smacallan# Standard system options
431.1Smacallan
441.1Smacallanoptions 	RTC_OFFSET=0	# hardware clock is this many mins. west of GMT
451.1Smacallan#options 	NTP		# NTP phase/frequency locked loop
461.1Smacallan
471.1Smacallan#options 	KTRACE		# system call tracing via ktrace(1)
481.1Smacallan
491.1Smacallan
501.1Smacallan#options 	SYSVMSG		# System V-like message queues
511.1Smacallan#options 	SYSVSEM		# System V-like semaphores
521.1Smacallan#options 	SYSVSHM		# System V-like memory sharing
531.1Smacallan
541.1Smacallan# Device options
551.1Smacallan
561.1Smacallan# Console options.  The default console is speed is 115200 baud.
571.1Smacallan#options 	CONSPEED=9600		# Console speed
581.1Smacallan
591.1Smacallan# Miscellaneous kernel options
601.1Smacallanoptions 	KTRACE		# system call tracing, a la ktrace(1)
611.1Smacallanoptions 	IRQSTATS	# manage IRQ statistics
621.1Smacallan#options 	SCSIVERBOSE	# Verbose SCSI errors
631.1Smacallanoptions 	PCIVERBOSE	# Verbose PCI descriptions
641.1Smacallanoptions 	MIIVERBOSE	# Verbose MII autoconfuration messages
651.1Smacallan#options 	PCI_CONFIG_DUMP	# verbosely dump PCI config space
661.1Smacallan
671.1Smacallanoptions 	USERCONF	# userconf(4) support
681.1Smacallan#options 	PIPE_SOCKETPAIR	# smaller, but slower pipe(2)
691.1Smacallan#options 	SYSCTL_INCLUDE_DESCR	# Include sysctl descriptions in kernel
701.1Smacallan
711.1Smacallan# Development and Debugging options
721.1Smacallan
731.1Smacallan# Alternate buffer queue strategies for better responsiveness under high
741.1Smacallan# disk I/O load.
751.1Smacallan#options 	BUFQ_READPRIO
761.1Smacallan#options 	BUFQ_PRIOCSCAN
771.1Smacallan
781.1Smacallan# Diagnostic/debugging support options
791.1Smacallan#options 	DIAGNOSTIC	# expensive kernel consistency checks
801.1Smacallan#options 	DEBUG		# expensive debugging checks/support
811.1Smacallanoptions 	DDB		# in-kernel debugger
821.1Smacallan#options 	DDB_ONPANIC=1	# see also sysctl(7): `ddb.onpanic'
831.1Smacallanoptions 	DDB_HISTORY_SIZE=512	# enable history editing in DDB
841.1Smacallan#options 	DDB_KEYCODE=0x40
851.1Smacallan#options 	KGDB		# remote debugger
861.1Smacallan#options 	KGDB_DEVNAME="\"com\"",KGDB_DEVADDR=0x3f8,KGDB_DEVRATE=9600
871.1Smacallan#makeoptions	DEBUG="-g"	# compile full symbol table
881.1Smacallanmakeoptions	COPY_SYMTAB=1
891.6Sskrll#options 	UVMHIST		# kernhist for uvm/pmap subsystems
901.1Smacallan#options 	VERBOSE_INIT_ARM # verbose bootstraping messages
911.1Smacallan
921.1Smacallan#options 	PMAP_INCLUDE_PTE_SYNC
931.1Smacallan#options 	LOCKDEBUG
941.1Smacallan
951.1Smacallan
961.1Smacallan# Compatibility options
971.1Smacallan
981.1Smacallaninclude 	"conf/compat_netbsd70.config"
991.1Smacallanoptions 	COMPAT_NETBSD32	# allow running arm (e.g. non-earm) binaries
1001.1Smacallan
1011.1Smacallan# File systems
1021.1Smacallanfile-system 	FFS		# UFS
1031.1Smacallan#file-system 	EXT2FS		# second extended file system (linux)
1041.1Smacallan#file-system 	LFS		# log-structured file system
1051.1Smacallan#file-system 	MFS		# memory file system
1061.1Smacallanfile-system 	NFS		# Network File System client
1071.1Smacallan#file-system 	NTFS		# Windows/NT file system (experimental)
1081.1Smacallanfile-system 	CD9660		# ISO 9660 + Rock Ridge file system
1091.1Smacallanfile-system 	MSDOSFS		# MS-DOS file system
1101.1Smacallan#file-system 	FDESC		# /dev/fd
1111.1Smacallanfile-system 	KERNFS		# /kern
1121.1Smacallan#file-system 	NULLFS		# loopback file system
1131.1Smacallan#file-system 	OVERLAY		# overlay file system
1141.1Smacallanfile-system 	PROCFS		# /proc
1151.1Smacallan#file-system 	UMAPFS		# NULLFS + uid and gid remapping
1161.1Smacallan#file-system 	UNION		# union file system
1171.1Smacallan#file-system	CODA		# Coda File System; also needs vcoda (below)
1181.1Smacallanfile-system	PTYFS		# /dev/ptm support
1191.1Smacallanfile-system	TMPFS		# Efficient memory file-system
1201.1Smacallan#file-system	UDF		# experimental - OSTA UDF CD/DVD file-system
1211.1Smacallan#file-system	HFS		# experimental - Apple HFS+ (read-only)
1221.1Smacallanfile-system     FILECORE        # Acorn filecore file system
1231.1Smacallan
1241.1Smacallan# File system options
1251.9Ssimonb#options 	FFS_EI		# FFS Endian Independent support
1261.9Ssimonboptions 	FFS_NO_SNAPSHOT	# No FFS snapshot support
1271.1Smacallan#options 	QUOTA		# legacy UFS quotas
1281.1Smacallan#options 	QUOTA2		# new, in-filesystem UFS quotas
1291.9Ssimonb#options 	UFS_DIRHASH	# UFS Large Directory Hashing
1301.9Ssimonb#options 	UFS_EXTATTR	# Extended attribute support for UFS1
1311.1Smacallanoptions 	WAPBL		# File system journaling support
1321.9Ssimonb#options 	NFSSERVER	# Network File System server
1331.1Smacallan
1341.1Smacallan# Networking options
1351.1Smacallan#options 	GATEWAY		# packet forwarding
1361.1Smacallanoptions 	INET		# IP + ICMP + TCP + UDP
1371.1Smacallanoptions 	INET6		# IPV6
1381.1Smacallan#options 	IPSEC		# IP security
1391.1Smacallan#options 	IPSEC_DEBUG	# debug for IP security
1401.1Smacallan#options 	MROUTING	# IP multicast routing
1411.1Smacallan#options 	PIM		# Protocol Independent Multicast
1421.1Smacallan#options 	NETATALK	# AppleTalk networking protocols
1431.1Smacallan#options 	PPP_BSDCOMP	# BSD-Compress compression support for PPP
1441.1Smacallan#options 	PPP_DEFLATE	# Deflate compression support for PPP
1451.1Smacallan#options 	PPP_FILTER	# Active filter support for PPP (requires bpf)
1461.1Smacallan#options 	TCP_DEBUG	# Record last TCP_NDEBUG packets with SO_DEBUG
1471.1Smacallan
1481.1Smacallan#options 	ALTQ		# Manipulate network interfaces' output queues
1491.1Smacallan#options 	ALTQ_BLUE	# Stochastic Fair Blue
1501.1Smacallan#options 	ALTQ_CBQ	# Class-Based Queueing
1511.1Smacallan#options 	ALTQ_CDNR	# Diffserv Traffic Conditioner
1521.1Smacallan#options 	ALTQ_FIFOQ	# First-In First-Out Queue
1531.1Smacallan#options 	ALTQ_FLOWVALVE	# RED/flow-valve (red-penalty-box)
1541.1Smacallan#options 	ALTQ_HFSC	# Hierarchical Fair Service Curve
1551.1Smacallan#options 	ALTQ_LOCALQ	# Local queueing discipline
1561.1Smacallan#options 	ALTQ_PRIQ	# Priority Queueing
1571.1Smacallan#options 	ALTQ_RED	# Random Early Detection
1581.1Smacallan#options 	ALTQ_RIO	# RED with IN/OUT
1591.1Smacallan#options 	ALTQ_WFQ	# Weighted Fair Queueing
1601.1Smacallan
1611.1Smacallan
1621.1Smacallanoptions 	NFS_BOOT_DHCP,NFS_BOOT_BOOTPARAM
1631.1Smacallan
1641.1Smacallanoptions 	DKWEDGE_AUTODISCOVER
1651.1Smacallanoptions 	DKWEDGE_METHOD_BSDLABEL
1661.1Smacallan#options 	DKWEDGE_METHOD_MBR
1671.1Smacallan
1681.1Smacallanoptions 	INSECURE
1691.1Smacallan
1701.1Smacallan# Kernel root file system and dump configuration.
1711.1Smacallan#config		netbsd	root on ? type ?
1721.1Smacallan#config		netbsd	root on wd1a type ffs
1731.1Smacallan#config		netbsd	root on wm0 type nfs
1741.1Smacallanconfig		netbsd	root on "wedge:system/a" type ffs
1751.1Smacallan
1761.1Smacallan#
1771.1Smacallan# Device configuration
1781.1Smacallan#
1791.1Smacallan
1801.1Smacallanmainbus0 at root
1811.1Smacallan
1821.1Smacallancpu0 at mainbus?
1831.1Smacallan
1841.1Smacallan# i80321 I/O Processor peripheral support
1851.1Smacallaniopxs*          at mainbus?
1861.1Smacallan
1871.1Smacallaniopaau*         at iopxs?               # Application Accelerator Unit
1881.5Sskrlliopiic*         at iopxs?               # I2C Controller Unit(s)
1891.1Smacallaniic0            at iopiic?
1901.1Smacallaniic1            at iopiic?
1911.1Smacallaniopwdog*        at iopxs?               # Watchdog timer
1921.1Smacallanpci0            at iopxs? bus ?         # PCI/PCI-X support
1931.1Smacallan
1941.1Smacallan# The curious can see their RAM timings.
1951.1Smacallanspdmem* at iic1 addr 0x56
1961.1Smacallan
1971.1Smacallan# onboard RTC. RISC OS starts counting years at 2000
1981.1Smacallandsrtc0 	at iic0 addr 0x68
1991.1Smacallan
2001.1Smacallan# PCI bridges
2011.1Smacallanppb*	at pci? dev ? function ?	# PCI-PCI bridges
2021.1Smacallanpci*	at ppb? bus ?
2031.1Smacallan# XXX 'puc's aren't really bridges, but there's no better place for them here
2041.1Smacallan#puc*	at pci? dev ? function ?	# PCI "universal" comm. cards
2051.1Smacallan
2061.1Smacallan#options COMCONSOLE
2071.1Smacallan
2081.1Smacallan# VGA
2091.1Smacallan#vga*            at pci? dev ? function ?
2101.1Smacallangenfb*		at pci? dev ? function ?
2111.1Smacallan#options 	GENFB_PCI_DEBUG
2121.1Smacallan#gffb*		at pci? dev ? function ?
2131.1Smacallan
2141.1Smacallan# these exist but aren't configured by RISC OS
2151.1Smacallan#alipm*		at pci?
2161.1Smacallan#iic*		at alipm?
2171.1Smacallan
2181.1Smacallan# Display
2191.1Smacallanwsdisplay0      at wsemuldisplaydev? console 1
2201.1Smacallanwsdisplay*      at wsemuldisplaydev?
2211.1Smacallan
2221.1Smacallan#options 	WSEMUL_SUN		# sun terminal emulation
2231.1Smacallanoptions 	WSEMUL_VT100		# vt100 terminal emulation
2241.1Smacallanoptions 	WS_DEFAULT_FG=WSCOL_BLACK
2251.1Smacallanoptions 	WS_DEFAULT_BG=WSCOL_LIGHT_WHITE
2261.1Smacallanoptions 	WS_KERNEL_FG=WSCOL_GREEN
2271.1Smacallanoptions 	WS_KERNEL_BG=WSCOL_LIGHT_WHITE
2281.1Smacallanoptions 	WSDISPLAY_COMPAT_PCVT		# emulate some ioctls
2291.1Smacallanoptions 	WSDISPLAY_COMPAT_SYSCONS	# emulate some ioctls
2301.1Smacallanoptions 	WSDISPLAY_COMPAT_USL		# VT handling
2311.1Smacallanoptions 	WSDISPLAY_COMPAT_RAWKBD		# can get raw scancodes
2321.1Smacallan#options 	WSDISPLAY_DEFAULTSCREENS=4
2331.1Smacallanoptions 	FONT_GO_MONO12x23
2341.1Smacallanoptions		WSDISPLAY_SCROLLSUPPORT
2351.1Smacallanoptions 	VCONS_DRAW_INTR
2361.1Smacallanoptions 	RASOPS_DEFAULT_WIDTH=100
2371.1Smacallanoptions 	RASOPS_DEFAULT_HEIGHT=30
2381.1Smacallan
2391.1Smacallan# IDE and related devices
2401.1Smacallan# PCI IDE controllers - see pciide(4) for supported hardware.
2411.1Smacallan# The 0x0001 flag force the driver to use DMA, even if the driver doesn't know
2421.1Smacallan# how to set up DMA modes for this chip. This may work, or may cause
2431.1Smacallan# a machine hang with some controllers.
2441.1Smacallan#pciide* 	at pci? dev ? function ? flags 0x0000	# GENERIC pciide driver
2451.1Smacallanaceride* 	at pci? dev ? function ?	# Acer Lab IDE controllers
2461.1Smacallanmvsata* 	at pci? dev ? function ?
2471.1Smacallan
2481.1Smacallan# ATA (IDE) bus support
2491.1Smacallanatabus* at ata?
2501.1Smacallan#options	ATADEBUG
2511.1Smacallan
2521.1Smacallan# IDE drives
2531.1Smacallan# Flags are used only with controllers that support DMA operations
2541.1Smacallan# and mode settings (e.g. some pciide controllers)
2551.1Smacallan# The lowest order four bits (rightmost digit) of the flags define the PIO
2561.1Smacallan# mode to use, the next set of four bits the DMA mode and the third set the
2571.1Smacallan# UltraDMA mode. For each set of four bits, the 3 lower bits define the mode
2581.1Smacallan# to use, and the last bit must be 1 for this setting to be used.
2591.1Smacallan# For DMA and UDMA, 0xf (1111) means 'disable'.
2601.1Smacallan# 0x0fac means 'use PIO mode 4, DMA mode 2, disable UltraDMA'.
2611.1Smacallan# (0xc=1100, 0xa=1010, 0xf=1111)
2621.1Smacallan# 0x0000 means "use whatever the drive claims to support".
2631.1Smacallanwd*	at atabus? drive ? flags 0x0000
2641.1Smacallan
2651.1Smacallan# ATAPI bus support
2661.1Smacallanatapibus* at atapi?
2671.1Smacallan
2681.1Smacallan# ATAPI devices
2691.1Smacallan# flags have the same meaning as for IDE drives.
2701.1Smacallan# XXX No DMA on IDE devices for now
2711.1Smacallancd*	at atapibus? drive ? flags 0x0ff0	# ATAPI CD-ROM drives
2721.1Smacallansd*	at atapibus? drive ? flags 0x0000	# ATAPI disk drives
2731.1Smacallanst*	at atapibus? drive ? flags 0x0000	# ATAPI tape drives
2741.1Smacallanuk*	at atapibus? drive ? flags 0x0000	# ATAPI unknown
2751.1Smacallan
2761.1Smacallan
2771.1Smacallan# Network Interfaces
2781.1Smacallan
2791.1Smacallan# onboard ethernet
2801.1Smacallanwm*	at pci? dev ? function ?	# Intel 8254x gigabit
2811.1Smacallan
2821.1Smacallan# MII/PHY support
2831.1Smacallanmakphy* at mii? phy ?			# Marvell Semiconductor 88E1000 PHYs
2841.1Smacallanukphy*	at mii? phy ?			# generic unknown PHYs
2851.1Smacallan
2861.1Smacallan
2871.1Smacallan# USB Controller and Devices
2881.1Smacallan
2891.1Smacallan# Iyonix ships with an ehci/ohci card
2901.1Smacallanehci*	at pci?	dev ? function ?	# Enhanced Host Controller
2911.1Smacallanohci*	at pci?	dev ? function ?	# Open Host Controller
2921.1Smacallan#uhci*	at pci?	dev ? function ?	# Universal Host Controller (Intel)
2931.1Smacallan
2941.1Smacallan# USB bus support
2951.1Smacallanusb*	at ehci?
2961.1Smacallanusb*	at ohci?
2971.1Smacallan#usb*	at uhci?
2981.1Smacallan#usb*	at slhci?
2991.1Smacallan
3001.1Smacallan# USB Hubs
3011.1Smacallanuhub*	at usb?
3021.1Smacallanuhub*	at uhub? port ?
3031.1Smacallan
3041.1Smacallan# USB HID device
3051.1Smacallanuhidev*	at uhub? port ? configuration ? interface ?
3061.1Smacallan
3071.1Smacallan# USB Mice
3081.1Smacallanums*	at uhidev? reportid ?
3091.1Smacallanwsmouse* at ums? mux 0
3101.1Smacallan
3111.1Smacallan# USB eGalax touch-panel
3121.1Smacallan#uep*	at uhub? port ?
3131.1Smacallan#wsmouse* at uep? mux 0
3141.1Smacallan
3151.1Smacallan# USB Keyboards
3161.1Smacallanukbd*	at uhidev? reportid ?
3171.1Smacallanwskbd*	at ukbd? console ? mux 1
3181.1Smacallan
3191.1Smacallan# USB Generic HID devices
3201.1Smacallanuhid*	at uhidev? reportid ?
3211.1Smacallan
3221.1Smacallan# USB Mass Storage
3231.1Smacallanumass*	at uhub? port ? configuration ? interface ?
3241.1Smacallan
3251.1Smacallan# USB audio
3261.1Smacallanuaudio*	at uhub? port ? configuration ?
3271.1Smacallan
3281.1Smacallan# USB MIDI
3291.1Smacallan#umidi* at uhub? port ? configuration ?
3301.1Smacallan
3311.1Smacallan# USB Ethernet adapters
3321.1Smacallan#axe*	at uhub? port ?		# ASIX AX88172 based adapters
3331.1Smacallan
3341.1Smacallanuplcom* at uhub? port ? 	# I/O DATA USB-RSAQ2 serial adapter
3351.1Smacallanucom*	at uplcom? portno ?
3361.1Smacallan
3371.1Smacallan# USB Generic driver
3381.1Smacallan#ugen*	at uhub? port ?
3391.1Smacallan
3401.1Smacallan
3411.1Smacallan# Iyonix onboard audio
3421.1Smacallanautri*	at pci? dev ? function ?	# Trident 4DWAVE based AC'97 Audio
3431.1Smacallan
3441.1Smacallan# Audio support
3451.1Smacallanaudio*	at audiobus?
3461.1Smacallan
3471.1Smacallanspkr*	at audio?		# PC speaker (synthesized)
3481.1Smacallan
3491.1Smacallan# On-board device support
3501.1Smacallan
3511.1Smacallanobio*	at mainbus?
3521.1Smacallancom1	at obio? addr 0x900003e8 xint 1 # on-board UART
3531.1Smacallancom0	at obio? addr 0x900002f8 xint 1 # on-board UART
3541.1Smacallan#com*	at obio? addr 0x900003e8 xint 1 # on-board UART
3551.1Smacallan#com*	at obio? addr 0x900003f8 xint 1 # on-board UART
3561.1Smacallan
3571.1Smacallan# Pseudo-Devices
3581.1Smacallan
3591.1Smacallan#pseudo-device 	crypto		# /dev/crypto device
3601.1Smacallan#pseudo-device	swcrypto	# software crypto implementation
3611.1Smacallan
3621.1Smacallan# disk/mass storage pseudo-devices
3631.1Smacallan
3641.1Smacallanpseudo-device	fss			# file system snapshot device
3651.1Smacallan
3661.1Smacallan# network pseudo-devices
3671.1Smacallanpseudo-device	bpfilter		# Berkeley packet filter
3681.1Smacallan#pseudo-device	carp			# Common Address Redundancy Protocol
3691.1Smacallan#pseudo-device	npf			# NPF packet filter
3701.1Smacallanpseudo-device	loop			# network loopback
3711.1Smacallan#pseudo-device	ppp			# Point-to-Point Protocol
3721.1Smacallan#pseudo-device	pppoe			# PPP over Ethernet (RFC 2516)
3731.1Smacallan#pseudo-device	sl			# Serial Line IP
3741.1Smacallan#pseudo-device	irframetty		# IrDA frame line discipline
3751.1Smacallan#pseudo-device	tap			# virtual Ethernet
3761.1Smacallan#pseudo-device	tun			# network tunneling over tty
3771.1Smacallan#pseudo-device	gre			# generic L3 over IP tunnel
3781.1Smacallan#pseudo-device	gif			# IPv[46] over IPv[46] tunnel (RFC1933)
3791.1Smacallan#pseudo-device	faith			# IPv[46] tcp relay translation i/f#
3801.1Smacallan#pseudo-device	stf			# 6to4 IPv6 over IPv4 encapsulation
3811.1Smacallan#pseudo-device	vlan			# IEEE 802.1q encapsulation
3821.1Smacallan#pseudo-device	bridge			# simple inter-network bridging
3831.8Sroy#pseudo-device	vether			# Virtual Ethernet for bridge
3841.1Smacallan#pseudo-device	agr			# IEEE 802.3ad link aggregation
3851.1Smacallan# srt is EXPERIMENTAL
3861.1Smacallan#pseudo-device	srt			# source-address-based routing
3871.1Smacallan
3881.1Smacallan#
3891.1Smacallan# accept filters
3901.1Smacallanpseudo-device   accf_data		# "dataready" accept filter
3911.1Smacallanpseudo-device   accf_http		# "httpready" accept filter
3921.1Smacallan
3931.1Smacallan# miscellaneous pseudo-devices
3941.1Smacallanpseudo-device	pty			# pseudo-terminals
3951.1Smacallan#options 	RND_COM			# use "com" randomness as well (BROKEN)
3961.1Smacallanpseudo-device	clockctl		# user control of clock subsystem
3971.1Smacallanpseudo-device	ksyms			# /dev/ksyms
3981.1Smacallan
3991.1Smacallan# wscons pseudo-devices
4001.1Smacallanpseudo-device	wsmux			# mouse & keyboard multiplexor
4011.1Smacallanpseudo-device	wsfont
4021.1Smacallan
4031.1Smacallan# Veriexec
4041.2Ssevan# include "dev/veriexec.config"
4051.1Smacallan
4061.1Smacallan#options PAX_MPROTECT=0                        # PaX mprotect(2) restrictions
407