# $NetBSD: GENERIC,v 1.138 2025/06/04 18:23:10 tsutsui 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/luna68k/conf/std.luna68k"

options         INCLUDE_CONFIG_FILE     # embed config file in kernel binary

#ident          "GENERIC-$Revision: 1.138 $"

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

options         M68030
options         M68040
options         FPSP    # on m68040 to emulate some missing FP instructions

# Needs to be set per system.  i.e change these as you see fit

# Standard system options
options         NTP                     # NTP phase/frequency locked loop
options         KTRACE
options         SYSVMSG                 # System V message queues
options         SYSVSEM                 # System V semaphores
options         SYSVSHM                 # System V shared memory

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

# Debugging options
options         DDB
#options        DDB_HISTORY_SIZE=100    # enable history editing in DDB
#makeoptions    COPY_SYMTAB=1   # place DDB symbols in data segment
#options        DEBUG                   # extra kernel debugging support
#options        DIAGNOSTIC              # extra kernel sanity checking
#options        SCSIVERBOSE             # Verbose SCSI errors
#options        SCSIDEBUG
#makeoptions    DEBUG="-g"              # compile full symbol table

# Compatibility options
include         "conf/compat_netbsd12.config"

options         COMPAT_AOUT_M68K # support for NetBSD a.out executables
options         EXEC_AOUT       # support for a.out executables

# File systems
file-system     FFS             # ufs file system
#file-system    LFS             # log-structured file system
file-system     NFS             # nfs client support
file-system     MFS
file-system     CD9660          # ISO 9660 + Rock Ridge file system
#file-system    MSDOSFS         # MS-DOS FAT file system
file-system     KERNFS          # /kern
file-system     PROCFS          # /proc
#file-system    FDESC           # /dev/fd/*
file-system     NULLFS          # loopback file system
#file-system    UMAPFS          # NULLFS + uid and gid remapping
#file-system    UNION           # union file system
#file-system    CODA            # Coda File System; also needs vcode (below)
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

# Networking options
options         INET            # IP protocol stack support
options         INET6           # IPV6
#options        IPSEC           # IP security
#options        IPSEC_DEBUG     # debug for IP security
#options        GATEWAY         # IP packet forwarding
#options        MROUTING        # IP multicast routing
#options        PIM             # Protocol Independent Multicast
#options        NETATALK        # AppleTalk networking protocols
#options        PPP_BSDCOMP     # BSD-Compress compression support for PPP
#options        PPP_DEFLATE     # Deflate compression support for PPP
#options        PPP_FILTER      # Active filter support for PPP (requires bpf)
options         NFS_BOOT_DHCP   # superset of BOOTP
#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

# WS console uses SUN or VT100 terminal emulation
options         WSEMUL_VT100
options         WSDISPLAY_COMPAT_USL            # wsconscfg VT handling
#options        WSDISPLAY_COMPAT_RAWKBD
options         WS_KERNEL_FG=WSCOL_GREEN
#options        WS_KERNEL_BG=WSCOL_BLACK

options         FONT_OMRON12x20

config          netbsd root on ? type ?

mainbus0 at root

clock0  at mainbus0

# LCD on front panel
lcd0    at mainbus0

# uPD7201 SIO
sio0    at mainbus0
siotty0 at sio0                 # ttya
ws0     at sio0                 # port for keyboard and mouse
# AM7990 LANCE
le0     at mainbus0
# MB89532 SPC
spc0    at mainbus0
spc1    at mainbus0             # 2nd SCSI on LUNA-II
# framebuffer
fb0     at mainbus0             # 16 or 256 pseudo color

# HD647180X I/O processor
xpbus0  at mainbus0
xp0     at xpbus0

# HD647180X I/O processor as PSG PAM audio
psgpam0 at xpbus0
audio*  at psgpam?
#spkr*  at audio?
#wsbell*        at spkr?

# Workstation Console attachments
wsdisplay*      at fb?
wskbd*          at ws? console ? mux 1
wsmouse*        at ws? mux 0

# SCSI bus support
scsibus* at spc?

# SCSI devices
sd* at scsibus? target ? lun ?          # SCSI disks
st* at scsibus? target ? lun ?          # SCSI tapes
cd* at scsibus? target ? lun ?          # SCSI CD-ROMs
#ch* at scsibus? target ? lun ?         # SCSI changer devices
#ss* at scsibus? target ? lun ?         # SCSI scanners
#uk* at scsibus? target ? lun ?         # unknown SCSI devices

#
# accept filters
#pseudo-device   accf_data              # "dataready" accept filter
#pseudo-device   accf_http              # "httpready" accept filter

pseudo-device   bpfilter                # Berkeley Packet Filter
#pseudo-device  carp                    # Common Address Redundancy Protocol
#pseudo-device  ccd                     # concatenated and striped disks
#pseudo-device  cgd                     # cryptographic disks
#pseudo-device  gre                     # generic L3 over IP tunnel
#pseudo-device  npf                     # NPF packet filter
pseudo-device   loop                    # loopback interface; required
pseudo-device   md                      # memory disk device
#pseudo-device  ppp                     # PPP interfaces
#pseudo-device  pppoe                   # PPP over Ethernet (RFC 2516)
pseudo-device   pty                     # pseudo-terminals
#pseudo-device  raid                    # RAIDframe disk driver
pseudo-device   fss                     # file system snapshot device
#pseudo-device  sl                      # SLIP interfaces
#pseudo-device  tun                     # Network "tunnel" device
#pseudo-device  tap                     # virtual Ethernet
pseudo-device   vlan                    # IEEE 802.1q encapsulation
pseudo-device   bridge                  # simple inter-network bridging
#pseudo-device  vether                  # Virtual Ethernet for bridge
pseudo-device   agr                     # IEEE 802.3ad link aggregation
#pseudo-device  vnd                     # disk-like interface to files
#options        VND_COMPRESSION         # compressed vnd(4)
pseudo-device   clockctl                # user control of clock subsystem
pseudo-device   drvctl                  # user control of drive subsystem
pseudo-device   ksyms                   # /dev/ksyms
pseudo-device   swwdog                  # software watchdog timer -- swwdog(4)

pseudo-device   wsmux                   # mouse & keyboard multiplexsor

# Veriexec
# include "dev/veriexec.config"

# Pull in optional local configuration - always at end
cinclude        "arch/luna68k/conf/GENERIC.local"