11.111Srin# $NetBSD: GENERIC,v 1.111 2024/06/30 05:59:14 rin Exp $ 21.11Sgmcgarry# 31.11Sgmcgarry# GENERIC machine description file 41.11Sgmcgarry# 51.11Sgmcgarry# This machine description file is used to generate the default NetBSD 61.11Sgmcgarry# kernel. The generic kernel does not include all options, subsystems 71.11Sgmcgarry# and device drivers, but should be useful for most applications. 81.11Sgmcgarry# 91.11Sgmcgarry# The machine description file can be customised for your specific 101.11Sgmcgarry# machine to reduce the kernel size and improve its performance. 111.11Sgmcgarry# 121.11Sgmcgarry# For further information on compiling NetBSD kernels, see the config(8) 131.11Sgmcgarry# man page. 141.11Sgmcgarry# 151.11Sgmcgarry# For further information on hardware support for this architecture, see 161.11Sgmcgarry# the intro(4) man page. For further information about kernel options 171.11Sgmcgarry# for this architecture, see the options(4) man page. For an explanation 181.11Sgmcgarry# of each device driver in this file see the section 4 man page for the 191.11Sgmcgarry# device. 201.1Sfredette 211.11Sgmcgarry# Supports Sun2 (2/120, 2/170, 2/50, ...) 221.105Srin# Supports root on: sd*, ... (FFS) 231.1Sfredette 241.11Sgmcgarryinclude "arch/sun2/conf/std.sun2" 251.1Sfredette 261.111Srin#options MODULAR # new style module(7) framework 271.103Srin#options MODULAR_DEFAULT_AUTOLOAD 281.111Srin 291.103Srinoptions INSECURE # allow modload(8) in multiuser mode 301.103Srin 311.90Stsutsui#options INCLUDE_CONFIG_FILE # embed config file in kernel binary 321.16Satatat 331.111Srin#ident "GENERIC-$Revision: 1.111 $" 341.68Stsutsui 351.107Srin# Bootloader has size limit (~2MB). Kernel should be smaller than this 361.107Srin# hard limit. Otherwise, it freezes before adding swap even with 7MB 371.107Srin# memory. -fno-omit-frame-pointer is necessary for backtraces in DDB. 381.107Srinoptions NO_KERNEL_RCSIDS 391.107Srinmakeoptions COPTS="-Os -fno-inline-small-functions -fno-asynchronous-unwind-tables -fno-unwind-tables -fno-omit-frame-pointer" 401.1Sfredette 411.1Sfredette# Machines to be supported by this kernel 421.1Sfredette#options FPU_EMULATE 431.1Sfredette 441.1Sfredette# Needs to be set per system. i.e change these as you see fit 451.68Stsutsuimaxusers 4 461.1Sfredette 471.1Sfredette# Standard system options 481.1Sfredetteoptions KTRACE # system call tracing 491.103Srin#options SYSVMSG # System V message queues 501.103Srin#options SYSVSEM # System V semaphores 511.103Srin#options SYSVSHM # System V shared memory 521.1Sfredette#options INSECURE # disable kernel security level 531.68Stsutsui#options USERCONF # userconf(4) support 541.103Srinoptions PIPE_SOCKETPAIR # smaller, but slower pipe(2) 551.90Stsutsui#options SYSCTL_INCLUDE_DESCR # Include sysctl descriptions in kernel 561.21Sjunyoung 571.99Ssevan# Alternate buffer queue strategies for better responsiveness under high 581.99Ssevan# disk I/O load. 591.40Stsutsui#options BUFQ_READPRIO 601.40Stsutsui#options BUFQ_PRIOCSCAN 611.1Sfredette 621.1Sfredette# Which kernel debugger? Uncomment either this: 631.1Sfredetteoptions DDB 641.1Sfredette# ... or these for KGDB (gdb remote target) 651.80Smrg#makeoptions DEBUG="-g" # debugging symbols for gdb 661.1Sfredette#options KGDB 671.8Slukem#options KGDB_DEV=0x0C00 # ttya=0C00 ttyb=0C01 681.1Sfredette 691.1Sfredette# Other debugging options 701.1Sfredette#options DDB_HISTORY_SIZE=100 # enable history editing in DDB 711.1Sfredette#options DEBUG # kernel debugging code 721.1Sfredette#options DIAGNOSTIC # extra kernel sanity checking 731.1Sfredette#options PMAP_DEBUG 741.1Sfredette#options SCSIDEBUG 751.1Sfredette#options SCSIVERBOSE # Verbose SCSI errors 761.1Sfredette 771.3Swiz# Compatibility options 781.111Srin#include "conf/compat_netbsd16.config" 791.2Sfredette#options COMPAT_SUNOS # can run SunOS 4.1.1 executables 801.90Stsutsui#options COMPAT_AOUT_M68K # support for NetBSD a.out executables 811.90Stsutsui#options EXEC_AOUT # support for a.out executables 821.1Sfredette 831.109Ssimonb# File systems 841.1Sfredettefile-system FFS # Berkeley Fast Filesystem 851.103Srin#file-system NFS # Sun NFS client support 861.103Srin#file-system CD9660 # ISO 9660 + Rock Ridge file system 871.90Stsutsui#file-system FDESC # /dev/fd/* 881.103Srin#file-system KERNFS # /kern 891.103Srin#file-system NULLFS # loopback file system 901.68Stsutsui#file-system OVERLAY # overlay file system 911.2Sfredette#file-system PROCFS # /proc 921.68Stsutsui#file-system UNION # union file system 931.103Srin#file-system MFS # memory-based filesystem 941.47Schristosfile-system PTYFS # /dev/pts/N support 951.90Stsutsui#file-system TMPFS # Efficient memory file-system 961.53Sreinoud#file-system UDF # experimental - OSTA UDF CD/DVD file-system 971.1Sfredette 981.109Ssimonb# File system options 991.109Ssimonb#options FFS_EI # FFS Endian Independent support 1001.109Ssimonboptions FFS_NO_SNAPSHOT # No FFS snapshot support 1011.77Sbouyer#options QUOTA # legacy UFS quotas 1021.77Sbouyer#options QUOTA2 # new, in-filesystem UFS quotas 1031.109Ssimonb#options UFS_DIRHASH # UFS Large Directory Hashing 1041.109Ssimonb#options UFS_EXTATTR # Extended attribute support for UFS1 1051.90Stsutsui#options WAPBL # File system journaling support 1061.109Ssimonb#options NFSSERVER # Network File System server 1071.64Syamt#options NFS_V2_ONLY # Exclude NFS3 code to save space 1081.1Sfredette 1091.1Sfredette# Networking options 1101.48Sisakioptions INET # IP protocol stack support 1111.2Sfredette#options INET6 # IPV6 1121.1Sfredette#options IPSEC # IP security 1131.1Sfredette#options IPSEC_DEBUG # debug for IP security 1141.1Sfredette#options GATEWAY # IP packet forwarding 1151.6Sabs#options TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG 1161.1Sfredette 1171.30Sabs#options ALTQ # Manipulate network interfaces' output queues 1181.30Sabs#options ALTQ_BLUE # Stochastic Fair Blue 1191.30Sabs#options ALTQ_CBQ # Class-Based Queueing 1201.30Sabs#options ALTQ_CDNR # Diffserv Traffic Conditioner 1211.30Sabs#options ALTQ_FIFOQ # First-In First-Out Queue 1221.30Sabs#options ALTQ_FLOWVALVE # RED/flow-valve (red-penalty-box) 1231.30Sabs#options ALTQ_HFSC # Hierarchical Fair Service Curve 1241.30Sabs#options ALTQ_LOCALQ # Local queueing discipline 1251.30Sabs#options ALTQ_PRIQ # Priority Queueing 1261.30Sabs#options ALTQ_RED # Random Early Detection 1271.30Sabs#options ALTQ_RIO # RED with IN/OUT 1281.30Sabs#options ALTQ_WFQ # Weighted Fair Queueing 1291.30Sabs 1301.1Sfredette# Work-around for root on slow servers (insurance...) 1311.1Sfredetteoptions NFS_BOOT_RWSIZE=1024 1321.1Sfredetteoptions NFS_BOOT_BOOTPARAM 1331.1Sfredette 1341.1Sfredetteconfig netbsd root on ? type ? 1351.1Sfredette 1361.1Sfredette#### Main bus. 1371.1Sfredettemainbus0 at root 1381.1Sfredette 1391.1Sfredette#### Bus types. 1401.1Sfredette 1411.1Sfredetteobio0 at mainbus? # all Sun-2 1421.1Sfredetteobmem0 at mainbus? # all Sun-2 1431.1Sfredettembmem0 at mainbus? # 2/120, 2/170 1441.1Sfredettembio0 at mainbus? # 2/120, 2/170 1451.4Sfredettesun68kvme0 at mainbus? # 2/50, 2/130, 2/160 1461.4Sfredettevme0 at sun68kvme0 # mi VME attachment 1471.1Sfredette 1481.1Sfredette#### Standard system devices. 1491.1Sfredette 1501.1Sfredette## The AM9513 clock chip. 1511.9Slukemclock0 at obio0 addr 0x002800 # 2/120, 2/170 1521.9Slukemclock0 at obio0 addr 0x7f2800 # 2/50, 2/130, 2/160 1531.1Sfredette 1541.1Sfredette## The MM58167 time-of-day chip. 1551.9Slukemtod0 at obio0 addr 0x003800 # 2/120, 2/170 1561.4Sfredettetod0 at vme0 addr 0x200800 # 2/50, 2/130, 2/160 1571.1Sfredette 1581.1Sfredette#### Serial port configuration. 1591.1Sfredette 1601.4Sfredette## Zilog 8530 serial chips. Each has two channels. 1611.1Sfredette## zs0 is ttya and ttyb. zs1 is the keyboard and mouse. 1621.2Sfredette## zs0 is REQUIRED to use KGDB. 1631.1Sfredettezs0 at obio0 addr 0x002000 # 2/120, 2/170 1641.4Sfredettezs0 at obio0 addr 0x7f2000 # 2/50 1651.1Sfredettezs1 at obmem0 addr 0x780000 # 2/120, 2/170 1661.4Sfredettezs1 at obio0 addr 0x7f1800 # 2/50 1671.2Sfredettezs2 at mbmem0 addr 0x080800 # 2/120, 2/170 (first sc SCSI) 1681.2Sfredettezs3 at mbmem0 addr 0x081000 # 2/120, 2/170 (first sc SCSI) 1691.2Sfredettezs4 at mbmem0 addr 0x084800 # 2/120, 2/170 (second sc SCSI) 1701.2Sfredettezs5 at mbmem0 addr 0x085000 # 2/120, 2/170 (second sc SCSI) 1711.4Sfredettezstty* at zs? channel ? # ttya 1721.4Sfredettekbd0 at zstty? # keyboard 1731.4Sfredettems0 at zstty? # mouse 1741.1Sfredette 1751.1Sfredette#### Disk controllers and disks. 1761.1Sfredette 1771.1Sfredette## PAL+logic-based "Sun SCSI 2" Multibus/VME SCSI controller. 1781.1Sfredette## This driver has several flags which may be enabled using 1791.1Sfredette## the "flags" directive. Valid flags are: 1801.1Sfredette## 1811.1Sfredette## 0x0ff Set (1<<target) to disable parity checking 1821.1Sfredette## 0x100 Set this bit to disable DMA interrupts (poll) 1831.1Sfredette## 0x200 Set this bit to disable DMA entirely (use PIO) 1841.1Sfredette## 1851.1Sfredette## For example: "flags 0x10f" would disable DMA interrupts, 1861.1Sfredette## and disable parity for targets 0-3 1871.1Sfredette 1881.1Sfredettesc0 at mbmem0 addr 0x80000 ipl 2 flags 0xff 1891.9Slukemsc0 at vme0 addr 0x200000 irq 2 vect 0x40 flags 0xff 1901.1Sfredettesc1 at mbmem0 addr 0x84000 ipl 2 flags 0xff 1911.1Sfredette 1921.1Sfredette## NCR5380-based "Sun SCSI 3" VME SCSI controller. 1931.1Sfredette## This driver has several flags which may be enabled by OR'ing 1941.1Sfredette## the values and using the "flags" directive. 1951.1Sfredette## Valid flags are: 1961.1Sfredette## 1971.1Sfredette## 0x01 Use DMA (may be polled) 1981.1Sfredette## 0x02 Use DMA completion interrupts 1991.1Sfredette## 0x04 Allow disconnect/reselect 2001.1Sfredette## 2011.1Sfredette## E.g. the following would enable DMA, interrupts, and reselect: 2021.1Sfredette## si0 at vme0 addr 0x200000 ipl 3 vect 0x40 flags 0x07 2031.1Sfredette## 2041.1Sfredette## By default, DMA is enabled in the driver. 2051.1Sfredette 2061.4Sfredettesi0 at vme0 addr 0x200000 irq 2 vect 0x40 2071.1Sfredette 2081.1Sfredette## These entries find devices on all SCSI busses and assign 2091.1Sfredette## unit numbers dynamically. 2101.1Sfredettescsibus* at sc? 2111.4Sfredettescsibus* at si? 2121.1Sfredettesd* at scsibus? target ? lun ? # SCSI disks 2131.1Sfredettest* at scsibus? target ? lun ? # SCSI tapes 2141.1Sfredettecd* at scsibus? target ? lun ? # SCSI CD-ROMs 2151.2Sfredette#ch* at scsibus? target ? lun ? # SCSI changer devices 2161.2Sfredette#ss* at scsibus? target ? lun ? # SCSI scanners 2171.2Sfredette#ses* at scsibus? target ? lun ? # SCSI SES/SAF-TE 2181.2Sfredette#uk* at scsibus? target ? lun ? # unknown SCSI 2191.10Sfredette 2201.10Sfredette# support old SCSI devices that don't understand the INQUIRY command 2211.10Sfredetteoptions SCSI_OLD_NOINQUIRY 2221.1Sfredette 2231.1Sfredette## Xylogics 450 or 451 Multibus/VME SMD disk controllers and disks. 2241.9Slukem#xyc0 at mbio0 addr 0xee40 ipl 2 2251.90Stsutsui#xyc0 at vme0 addr 0xee40 irq 2 vect 0x48 2261.9Slukem#xyc1 at mbio0 addr 0xee48 ipl 2 2271.90Stsutsui#xyc1 at vme0 addr 0xee48 irq 2 vect 0x49 2281.90Stsutsui#xy* at xyc? drive ? 2291.1Sfredette 2301.70Stls# 2311.70Stls# accept filters 2321.90Stsutsui#pseudo-device accf_data # "dataready" accept filter 2331.90Stsutsui#pseudo-device accf_http # "httpready" accept filter 2341.70Stls 2351.1Sfredette## Memory-disk device. 2361.104Srin#pseudo-device md 2371.1Sfredette 2381.1Sfredette#### Network interfaces. 2391.1Sfredette 2401.1Sfredette## Intel Ethernet (onboard, or Multibus/VME) 2411.4Sfredetteie0 at obio0 addr 0x7f0800 ipl 3 # 2/50 2421.1Sfredetteie0 at mbmem0 addr 0x88000 ipl 3 2431.4Sfredetteie1 at mbmem0 addr 0x8c000 ipl 3 2441.4Sfredette## VME: the first [addr,len] pair specifies the device registers; 2451.4Sfredette## the second pair specifies the on-board memory buffer 2461.4Sfredetteie1 at vme0 addr 0xe88000,0xe00000 len -1,0x40000 irq 3 vect 0x75 2471.4Sfredette 2481.4Sfredette## 3Com Ethernet (Multibus only) 2491.4Sfredetteec0 at mbmem0 addr 0xe0000 ipl 3 2501.4Sfredetteec1 at mbmem0 addr 0xe2000 ipl 3 2511.62Stsutsui# limit NFS R/W size for poor ec(4) interfaces 2521.62Stsutsuioptions NFS_RSIZE=1024,NFS_WSIZE=1024 2531.1Sfredette 2541.1Sfredette## Frame buffers. 2551.1Sfredette 2561.1Sfredette## Sun "bwtwo" black and white framebuffer. 2571.9Slukembwtwo0 at obmem0 addr 0x700000 # 2/120, 2/170 2581.4Sfredettebwtwo0 at obio0 addr 0x0 # 2/50 2591.4Sfredette 2601.4Sfredette## PROM console driver -- if all else fails 2611.4Sfredettepcons0 at mainbus0 # PROM console 2621.1Sfredette 2631.1Sfredette#### Miscellaneous. 2641.86Schristospseudo-device loop # network loopback 2651.54Srpaulo#pseudo-device bpfilter # packet filter 2661.56Sliamjfoy#pseudo-device carp # Common Address Redundancy Protocol 2671.7Satatat#pseudo-device bridge # simple inter-network bridging 2681.108Sroy#pseudo-device vether # Virtual Ethernet for bridge 2691.55Scube#pseudo-device sl # CSLIP 2701.55Scube#pseudo-device ppp # PPP 2711.12Smartin#pseudo-device pppoe # PPP over Ethernet (RFC 2516) 2721.55Scube#pseudo-device tun # network tunneling over tty 2731.34Scube#pseudo-device tap # virtual Ethernet 2741.55Scube#pseudo-device gre # generic L3 over IP tunnel 2751.101Smaxv#pseudo-device npf # NPF packet filter 2761.55Scube#pseudo-device gif # IPv[46] over IPv[46] tunnel (RFC1933) 2771.55Scube#pseudo-device faith # IPv[46] tcp relay translation i/f 2781.55Scube#pseudo-device stf # 6to4 IPv6 over IPv4 encapsulation 2791.1Sfredette 2801.60Stsutsuipseudo-device pty # pseudo-terminals 2811.55Scube#pseudo-device vnd # paging to files 2821.43Shubertf#options VND_COMPRESSION # compressed vnd(4) 2831.86Schristos#pseudo-device ccd # concatenated disks 2841.86Schristos#pseudo-device cgd # cryptographic disk devices 2851.87Schristos#pseudo-device raid # RAIDframe disk driver 2861.1Sfredette#options RAID_AUTOCONFIG # auto-configuration of RAID components 2871.13Soster# Options to enable various other RAIDframe RAID types. 2881.13Soster# options RF_INCLUDE_EVENODD=1 2891.13Soster# options RF_INCLUDE_RAID5_RS=1 2901.13Soster# options RF_INCLUDE_PARITYLOGGING=1 2911.13Soster# options RF_INCLUDE_CHAINDECLUSTER=1 2921.13Soster# options RF_INCLUDE_INTERDECLUSTER=1 2931.13Soster# options RF_INCLUDE_PARITY_DECLUSTERING=1 2941.13Soster# options RF_INCLUDE_PARITY_DECLUSTERING_DS=1 2951.74Spooka#pseudo-device fss # file system snapshot device 2961.90Stsutsui#pseudo-device clockctl # user control of clock subsystem 2971.25Sraggepseudo-device ksyms # /dev/ksyms 2981.52Selad 2991.52Selad# Veriexec 3001.102Ssevan# include "dev/veriexec.config" 3011.110Sabs 3021.110Sabs# Pull in optional local configuration - always at end 3031.110Sabscinclude "arch/sun2/conf/GENERIC.local" 304