# $NetBSD: GENERIC,v 1.78 2023/02/12 14:50:38 abs 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/cesfic/conf/std.cesfic"

options         INCLUDE_CONFIG_FILE     # embed config file in kernel binary

makeoptions     COPTS="-O2 -fno-reorder-blocks -fno-omit-frame-pointer"
       # See share/mk/sys.mk. -fno-omit-frame-pointer is necessary for
       # backtraces in DDB.

# Need to set locally
maxusers        32

#options        LEDEBUG

options         FPSP

# Standard system options
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

include         "conf/compat_netbsd09.config"

#options        SYSVSHM         # System V-style shared memory
#options        SYSVSEM         # System V-style semaphores
#options        SYSVMSG         # System V-style message queues
options         KTRACE          # system call tracing support
#options        NKMEMCLUSTERS=1024      # 4K pages in kernel malloc pool
options         COMPAT_SUNOS

# Filesystems
#file-system    FFS             # fast filesystem
#file-system    CD9660          # CD-ROM ISO-9660 filesystem
file-system     NFS             # Network filesystem client
#file-system    UNION           # Union filesystem (req. for FDESC)
#file-system    KERNFS          # kernel data-structure filesystem
#file-system    FDESC           # user file descriptor filesystem
#file-system    PROCFS          # /proc filesystem
#file-system    MFS             # Memory-based filesystem
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        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        NFSSERVER       # Network File System server

# Networking options
options         INET            # Internet protocols
#options        GATEWAY         # IP forwarding
#options        MROUTING        # Multicast routing
#options        PIM             # Protocol Independent Multicast
#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

options         COMPAT_M68K4K   # compat. with NetBSD/m68k4k binaries
options         COMPAT_AOUT_M68K # support for NetBSD a.out executables

# Debugging options
#options        DIAGNOSTIC      # Extra kernel sanity checks
#options        DEBUG           # Enable misc. kernel debugging code
options         DDB             # Kernel Dynamic Debugger
#options        KGDB
makeoptions     DEBUG="-g"      # netbsd.gdb with full debugging symbols

options         NFS_BOOT_DHCP

config          netbsd root on ? type ?

mainbus0        at root         # root "bus"

zsc*            at mainbus0
zstty*          at zsc? channel ?

le*             at mainbus0             # LANCE ethernet interfaces

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

pseudo-device   pty                     # pseudo ptys
#pseudo-device  sl                      # SLIP network interfaces
#pseudo-device  ppp                     # PPP network interfaces
#pseudo-device  pppoe                   # PPP over Ethernet (RFC 2516)
#pseudo-device  bpfilter                # Berkeley packet filter
pseudo-device   carp                    # Common Address Redundancy Protocol
#pseudo-device  bridge                  # simple inter-network bridging
#pseudo-device  vether                  # Virtual Ethernet for bridge
#pseudo-device  vnd                     # vnode pseudo-disks
#options        VND_COMPRESSION         # compressed vnd(4)
#pseudo-device  ccd                     # concatenated disk devices
#pseudo-device  cgd                     # cryptographic disk devices
pseudo-device   loop                    # loopback network interface
#pseudo-device  npf                     # NPF packet filter
pseudo-device   clockctl                # user control of clock subsystem
pseudo-device   ksyms                   # /dev/ksyms
pseudo-device   swwdog                  # software watchdog timer -- swwdog(4)

include "dev/veriexec.config"

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