1# $NetBSD: GENERIC,v 1.209 2024/01/07 07:58:33 isaki Exp $ 2# 3# GENERIC machine description file 4# 5# This machine description file is used to generate the default NetBSD 6# kernel. The generic kernel does not include all options, subsystems 7# and device drivers, but should be useful for most applications. 8# 9# The machine description file can be customised for your specific 10# machine to reduce the kernel size and improve its performance. 11# 12# For further information on compiling NetBSD kernels, see the config(8) 13# man page. 14# 15# For further information on hardware support for this architecture, see 16# the intro(4) man page. For further information about kernel options 17# for this architecture, see the options(4) man page. For an explanation 18# of each device driver in this file see the section 4 man page for the 19# device. 20 21include "arch/x68k/conf/std.x68k" 22 23options INCLUDE_CONFIG_FILE # embed config file in kernel binary 24 25#ident "GENERIC-$Revision: 1.209 $" 26 27makeoptions COPTS="-O2 -fno-reorder-blocks -fno-unwind-tables -fno-omit-frame-pointer" 28 # See share/mk/sys.mk. -fno-omit-frame-pointer is necessary for 29 # backtraces in DDB. 30 31maxusers 8 32 33## System kernel configuration. See options(4) for more detail. 34 35 36## Options for variants of the m68k MPU 37## you must have at least the correct one; REQUIRED 38options M68030 39options M68040 40options M68060 41## If you want an optimized kernel for a specific processor, use either: 42#makeoptions CMACHFLAGS="-m68030" 43#makeoptions CMACHFLAGS="-m68040 -Wa,-m68030 -Wa,-m68851" 44#makeoptions CMACHFLAGS="-m68060 -Wa,-m68030 -Wa,-m68851" 45 46 47#### System options specific to the x68k port 48 49options EXTENDED_MEMORY # support for >16MB memory 50options FPU_EMULATE # software fpu emulation for MC68030 51options FPSP # floating point emulation for MC68040 52options M060SP # int/fp emulation for MC68060 53#options JUPITER # support for "Jupiter-X" accelerator 54#options ZSCONSOLE,ZSCN_SPEED="9600" # use serial console 55 56 57#### System options that are the same for all ports 58 59## Root device configuration: change the ?'s if you are going to use a 60## nonstandard root partition (other than where the kernel is booted from) 61## and/or nonstandard root type (not ffs or nfs). Normally this can be 62## automagically determined at boot time. 63 64config netbsd root on ? type ? 65#config netbsd root on sd0 type ffs 66 67## RTC is offset from GMT; -540 means JST-9 68options RTC_OFFSET=-540 # hardware clock is this many mins. west of GMT 69 70## System call tracing (see ktrace(1)). 71options KTRACE 72 73## System V compatible IPC subsystem. (msgctl(2), semctl(2), and shmctl(2)) 74options SYSVMSG # System V message queues 75options SYSVSEM # System V semaphores 76options SYSVSHM # System V shared memory 77 78## Loadable kernel module support 79options MODULAR # new style module(7) framework 80options MODULAR_DEFAULT_AUTOLOAD 81 82options USERCONF # userconf(4) support 83#options PIPE_SOCKETPAIR # smaller, but slower pipe(2) 84options SYSCTL_INCLUDE_DESCR # Include sysctl descriptions in kernel 85 86# Alternate buffer queue strategies for better responsiveness under high 87# disk I/O load. 88#options BUFQ_READPRIO 89#options BUFQ_PRIOCSCAN 90 91## NFS boot options; not supported currently: needs nfsboot program 92#options NFS_BOOT_BOOTPARAM 93#options NFS_BOOT_BOOTP 94options NFS_BOOT_DHCP 95 96#### Debugging options 97 98## The DDB in-kernel debugger runs at panic (unless DDB_ONPANIC=0), or at 99## serial console break or keyboard reset, where the PROM would normally 100## intercept. DDB_HISTORY_SIZE adds up/down arrow command history. 101options DDB # kernel dynamic debugger 102#options DDB_HISTORY_SIZE=100 # enable history editing in DDB 103#options DDB_ONPANIC=1 # see also sysctl(7): `ddb.onpanic' 104#options PANICBUTTON # interrupt switch invokes DDB 105 106## You may also use gdb, on another computer connected to this machine over 107## a serial port. Both KGDB_DEV and KGDB_DEVRATE should be specified; 108## KGDB_DEV is a dev_t encoded device number of the serial port to use. 109## KGDB is not supported for now. 110#options KGDB # support for kernel gdb 111#options KGDB_DEV=0xc00 # kgdb device number 112#options KGDB_DEVRATE=9600 # baud rate 113 114## Compile the kernel with debugging symbols (`netbsd.gdb' is the debug file), 115## such that gdb(1) can be used on a kernel coredump. 116 117#makeoptions DEBUG="-g" 118 119## Adds code to the kernel that does internal consistency checks, and will 120## cause the kernel to panic if corruption of internal data structures 121## is detected. 122#options DIAGNOSTIC # extra kernel sanity checking 123 124## Enable (possibly expensive) debugging code that may also display messages 125## on the system console 126#options DEBUG 127 128## These options enable verbose messages for several subsystems. 129## Warning, these may compile large string tables into the kernel! 130#options SCSIVERBOSE # human readable SCSI error messages 131#options USBVERBOSE # verbose USB device autoconfig messages 132 133## `INSECURE' turns off the kernel security level (securelevel = 0 always). 134## This allows writing to /dev/mem, loading kernel modules while multi-user, 135## and other insecurities good only for development work. Do not use this 136## option on a production machine. 137#options INSECURE 138 139## `FDSCRIPTS' allows non-readable but executable scripts by providing a 140## pre-opened opaque file to the script interpreter. `SETUIDSCRIPTS', 141## which implies FDSCRIPTS, allows scripts to be set-user-id using the same 142## opaque file mechanism. Perl calls this "secure setuid scripts." 143 144#options FDSCRIPTS 145#options SETUIDSCRIPTS 146 147## Options for compatibility with previous releases foreign system binaries. 148 149include "conf/compat_netbsd09.config" 150 151options COMPAT_AOUT_M68K # compatibility with NetBSD/m68k a.out 152#options COMPAT_M68K4K # NetBSD/m68k4k binaries 153#options COMPAT_SUNOS # SunOS 4.x binary compatibility; broken 154#options COMPAT_LINUX # Linux/m68k binary compatibility 155#options COMPAT_OSSAUDIO # Linux/m68k binary compatibility 156 157## File systems. 158file-system FFS # Berkeley Fast Filesystem 159file-system NFS # Sun NFS-compatible filesystem client 160file-system KERNFS # kernel data-structure filesystem 161file-system NULLFS # NULL layered filesystem 162#file-system OVERLAY # overlay file system 163file-system MFS # memory-based filesystem 164#file-system FDESC # user file descriptor filesystem 165#file-system UMAPFS # uid/gid remapping filesystem 166#file-system LFS # Log-structured filesystem (experimental) 167file-system PROCFS # /proc 168file-system CD9660 # ISO 9660 + Rock Ridge file system 169#file-system UNION # union file system (a little buggy) 170file-system MSDOSFS # MS-DOS FAT filesystem(s). 171#file-system ADOSFS # AmigaDOS filesystem 172file-system PTYFS # /dev/pts/N support 173file-system TMPFS # Efficient memory file-system 174#file-system UDF # experimental - OSTA UDF CD/DVD file-system 175 176## File system options. 177#options FFS_EI # FFS Endian Independent support 178options FFS_NO_SNAPSHOT # No FFS snapshot support 179#options QUOTA # legacy UFS quotas 180#options QUOTA2 # new, in-filesystem UFS quotas 181#options UFS_DIRHASH # UFS Large Directory Hashing 182#options UFS_EXTATTR # Extended attribute support for UFS1 183options WAPBL # File system journaling support 184options NFSSERVER # Network File System server 185 186## Network protocol support. In most environments, INET is required. 187options INET # IP (Internet Protocol) v4 188options INET6 # IPV6 189#options IPSEC # IP security 190#options IPSEC_DEBUG # debug for IP security 191#options GATEWAY # packet forwarding ("router switch") 192#options MROUTING # packet forwarding of multicast packets 193#options PIM # Protocol Independent Multicast 194#options NETATALK # AppleTalk (over Ethernet) protocol 195#options NTP # Network Time Protocol in-kernel support 196#options PPS_SYNC # Add serial line synchronization for NTP 197#options PPP_BSDCOMP # Add BSD compression to ppp device 198#options PPP_DEFLATE # Add deflate (libz) compression to ppp device 199#options PPP_FILTER # Add active filters for ppp (via bpf) 200#options TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG 201 202#options ALTQ # Manipulate network interfaces' output queues 203#options ALTQ_BLUE # Stochastic Fair Blue 204#options ALTQ_CBQ # Class-Based Queueing 205#options ALTQ_CDNR # Diffserv Traffic Conditioner 206#options ALTQ_FIFOQ # First-In First-Out Queue 207#options ALTQ_FLOWVALVE # RED/flow-valve (red-penalty-box) 208#options ALTQ_HFSC # Hierarchical Fair Service Curve 209#options ALTQ_LOCALQ # Local queueing discipline 210#options ALTQ_PRIQ # Priority Queueing 211#options ALTQ_RED # Random Early Detection 212#options ALTQ_RIO # RED with IN/OUT 213#options ALTQ_WFQ # Weighted Fair Queueing 214 215 216#### Device configurations 217 218## Fundamental devices; see also std.x68k 219dmac0 at intio0 addr 0xe84000 # DMA controller 220xel0 at intio0 221opm0 at intio0 addr 0xe90000 # OPM: required for fdc 222 223## Display devices and console 224grfbus0 at mainbus0 # bitmapped displays 225grf0 at grfbus0 addr 0 # multiplane graphics 226grf1 at grfbus0 addr 1 # flexible graphics 227 228kbd0 at mfp0 # standard keyboard 229ite0 at grf0 grfaddr 0 # internal terminal emulator 230options ITE_KERNEL_ATTR=4 # bold for kernel messages 231 # see /sys/arch/x68k/dev/itevar.h 232 233## floppy disks 234fdc0 at intio0 addr 0xe94000 intr 96 dma 0 dmaintr 100 # floppy controller 235fd* at fdc0 unit ? # builtin floppy drives 236 237## SCSI devices 238scsirom0 at intio0 addr 0xfc0000 # Built-in SCSI BIOS 239scsirom1 at intio0 addr 0xea0020 # External SCSI BIOS 240spc0 at scsirom0 # genuin SCSI 241spc1 at scsirom1 # genuin SCSI 242scsibus* at spc? 243mha0 at scsirom1 # Mankai MK-HA1 (Mach-2) 244scsibus* at mha0 245 246sd* at scsibus? target ? lun ? # SCSI disks 247cd* at scsibus? target ? lun ? # SCSI CD-ROMs 248#st* at scsibus? target ? lun ? # SCSI tapes 249#ss* at scsibus? target ? lun ? # SCSI scanners 250#ch* at scsibus? target ? lun ? # SCSI changer devices 251#uk* at scsibus? target ? lun ? # SCSI unknown devices 252 253## Ports 254zsc0 at intio0 addr 0xe98000 intr 112 255zstty0 at zsc0 channel 0 # built-in RS-232C 256ms0 at zsc0 channel 1 # standard mouse 257#zsc1 at intio0 addr 0xeafc00 intr 113 258#zstty2 at zsc1 channel 0 259#zstty3 at zsc1 channel 1 260#zsc2 at intio0 addr 0xeafc10 intr 114 261#zstty4 at zsc2 channel 0 262#zstty5 at zsc2 channel 1 263par0 at intio0 addr 0xe8c000 # Builtin printer port 264 265sram0 at intio0 addr 0xed0000 # battery-backuped static RAM 266pseudo-device bell # OPM bell 267 268powsw0 at mfp0 # Front switch 269#powsw1 at mfp0 # External power switch 270 271com0 at intio0 addr 0xefff00 intr 240 # PSX16550, port1 272com1 at intio0 addr 0xefff10 intr 241 # PSX16550, port2 273 274## Audio device 275vs0 at intio0 addr 0xe92000 dma 3 dmaintr 106 276audio* at vs? 277 278spkr* at audio? # PC speaker (synthesized) 279 280## Network interfaces 281ne* at intio0 addr 0xece300 intr 249 # Nereid Ethernet 282ne* at intio0 addr 0xeceb00 intr 248 # Nereid Ethernet 283neptune0 at intio0 addr 0xece000 intr 249 # Neptune-X 284neptune1 at intio0 addr 0xece400 intr 249 # Neptune-X at alt. addr. 285ne* at neptune? addr 0x300 # NE2000 or clone 286 287## Bank memory disk 288bmd* at intio0 addr 0xece3f0 # Nereid 289bmd* at intio0 addr 0xecebf0 # Nereid 290 291## MII/PHY support for USB ethernet 292#acphy* at mii? phy ? 293#rgephy* at mii? phy ? 294#rlphy* at mii? phy ? 295#ukphy* at mii? phy ? 296 297## USB Controller and Devices; Experimental 298 299# Nereid USB controllers 300#slhci0 at intio0 addr 0xece380 intr 251 301#slhci1 at intio0 addr 0xeceb80 intr 250 302#options SLHCI_DEBUG 303 304# USB bus support 305#usb* at slhci? 306 307# USB Hubs 308#uhub* at usb? 309#uhub* at uhub? port ? 310 311# USB HID device 312#uhidev* at uhub? port ? configuration ? interface ? 313 314# USB Mice; not supported wscons yet 315#ums* at uhidev? reportid ? 316#wsmouse* at ums? mux 0 317 318# USB Keyboards; not supported wscons yet 319#ukbd* at uhidev? reportid ? 320#wskbd* at ukbd? console ? mux 1 321 322# USB serial adapter 323#ucycom* at uhidev? reportid ? 324 325# USB Generic HID devices 326#uhid* at uhidev? reportid ? 327 328# USB Printer 329#ulpt* at uhub? port ? configuration ? interface ? 330 331# USB Modem 332#umodem* at uhub? port ? configuration ? 333#ucom* at umodem? 334 335# Option N.V. Wireless WAN modems 336#uhso* at uhub? port ? configuration ? 337 338# USB Mass Storage 339#umass* at uhub? port ? configuration ? interface ? 340#atapibus* at umass? 341#scsibus* at umass? 342 343# USB audio 344#uaudio* at uhub? port ? configuration ? 345 346# USB MIDI 347#umidi* at uhub? port ? configuration ? 348 349# USB IrDA 350# USB-IrDA bridge spec 351#uirda* at uhub? port ? configuration ? interface ? 352#irframe* at uirda? 353 354# SigmaTel STIr4200 USB/IrDA Bridge 355#ustir* at uhub? port ? 356#irframe* at ustir? 357 358# USB Ethernet adapters 359#aue* at uhub? port ? # ADMtek AN986 Pegasus based adapters 360#axe* at uhub? port ? # ASIX AX88172 based adapters 361#cue* at uhub? port ? # CATC USB-EL1201A based adapters 362#kue* at uhub? port ? # Kawasaki LSI KL5KUSB101B based adapters 363#mue* at uhub? port ? # Microchip LAN75xx/LAN78xx based adapters 364#udav* at uhub? port ? # Davicom DM9601 based adapters 365#ure* at uhub? port ? # Realtek RTL8152/RTL8153 based adapters 366#url* at uhub? port ? # Realtek RTL8150L based adapters 367 368# Prolific PL2301/PL2302 host-to-host adapter 369#upl* at uhub? port ? 370 371# Serial adapters 372#uftdi* at uhub? port ? # FTDI FT8U100AX serial adapter 373#ucom* at uftdi? portno ? 374 375#umct* at uhub? port ? # MCT USB-RS232 serial adapter 376#ucom* at umct? portno ? 377 378#uplcom* at uhub? port ? # I/O DATA USB-RSAQ2 serial adapter 379#ucom* at uplcom? portno ? 380 381#uvscom* at uhub? port ? # SUNTAC Slipper U VS-10U serial adapter 382#ucom* at uvscom? portno ? 383 384# USB Handspring Visor 385#uvisor* at uhub? port ? 386#ucom* at uvisor? 387 388# Kyocera AIR-EDGE PHONE 389#ukyopon* at uhub? port ? 390#ucom* at ukyopon? portno ? 391 392# USB scanners that use SCSI emulation, e.g., HP5300 393#usscanner* at uhub? port ? 394#scsibus* at usscanner? channel ? 395 396# D-Link DSB-R100 USB radio 397#udsbr* at uhub? port ? 398#radio* at udsbr? 399 400# USB Generic driver 401#ugen* at uhub? port ? 402 403 404#### Pseudo devices 405 406# 407# accept filters 408#pseudo-device accf_data # "dataready" accept filter 409#pseudo-device accf_http # "httpready" accept filter 410 411## A disk-like interface to files. Can be used to create floppy, CD, 412## miniroot images, etc. 413 414pseudo-device vnd 415#options VND_COMPRESSION # compressed vnd(4) 416 417## Concatenated and striped disks; with this, you can create a software-based 418## disk array similar to a "RAID 0" setup. See ccd(4). 419 420#pseudo-device ccd 421 422## Cryptographic disk devices. See cgd(4). 423 424#pseudo-device cgd 425 426## RAIDframe disk driver: software RAID driver. See raid(4). 427 428pseudo-device raid 429options RAID_AUTOCONFIG # auto-configuration of RAID components 430# Options to enable various other RAIDframe RAID types. 431# options RF_INCLUDE_EVENODD=1 432# options RF_INCLUDE_RAID5_RS=1 433# options RF_INCLUDE_PARITYLOGGING=1 434# options RF_INCLUDE_CHAINDECLUSTER=1 435# options RF_INCLUDE_INTERDECLUSTER=1 436# options RF_INCLUDE_PARITY_DECLUSTERING=1 437# options RF_INCLUDE_PARITY_DECLUSTERING_DS=1 438 439 440## Memory disk device, used on boot floppies with compressed 441## kernel-plus-root-disk images. 442 443#pseudo-device md 444 445## Loopback network interface; required 446pseudo-device loop 447 448## SLIP and CSLIP interfaces, for IP over a serial line. 449pseudo-device sl 450 451## PPP, the successor to SLIP. See pppd(8). 452pseudo-device ppp 453 454## PPP over Ethernet (RFC 2516) 455pseudo-device pppoe 456 457## Network "tunnel" device, allowing protocol stacks to run in the userland. 458## This is used by the third-party user-mode "ppp" program, and others. 459#pseudo-device tun 460#pseudo-device tap # virtual Ethernet 461 462## Generic L3 over IP tunnel 463#pseudo-device gre # generic L3 over IP tunnel 464 465## Berkeley Packet Filter, required to run RARPD. A generic C-language 466## interface that allows selective examining of incoming packets. 467pseudo-device bpfilter 468 469#pseudo-device carp # Common Address Redundancy Protocol 470 471#pseudo-device npf # NPF packet filter 472 473## for IPv6 474pseudo-device gif # IPv[46] over IPv[46] tunnel (RFC1933) 475#pseudo-device faith # IPv[46] tcp relay translation i/f 476pseudo-device stf # 6to4 IPv6 over IPv4 encapsulation 477 478## IEEE 802.1Q Virtual LAN encapsulation, see vlan(4). 479pseudo-device vlan 480 481## Simple inter-network traffic bridging 482pseudo-device bridge 483#pseudo-device vether # Virtual Ethernet for bridge 484pseudo-device agr # IEEE 802.3ad link aggregation 485 486#### Other device configuration 487 488## Pseudo ttys, required for network logins and programs like screen. 489 490pseudo-device pty # pseudo-terminals 491 492## Random device, used to implement /dev/random (a source of random noise), 493## and generate randomness for some kernel formulae. 494 495 496pseudo-device clockctl # user control of clock subsystem 497pseudo-device drvctl # user control of drive subsystem 498pseudo-device ksyms # /dev/ksyms 499#pseudo-device fss # file system snapshot device 500pseudo-device swwdog # software watchdog timer -- swwdog(4) 501 502# Veriexec 503# include "dev/veriexec.config" 504 505# Pull in optional local configuration - always at end 506cinclude "arch/x68k/conf/GENERIC.local" 507