#       $NetBSD: ADM5120-NB,v 1.34 2024/03/26 10:23:42 andvar Exp $
#
# Kernel config for the ADM5120 based boards and routers,
# including the RouterBOARD 100 series.

include         "arch/evbmips/conf/std.adm5120"

#ident          "GENERIC-$Revision: 1.34 $"

maxusers        32

options         MIPS32
options         NOFPU           # No FPU
options         FPEMUL          # emulate FPU insn
#options        CONSPEED=115200 # YAMON default
#options        HZ=512          # for profiling
options         MEMSIZE="(16*1024*1024)"

#options        LOCKDEBUG
options         SOSEND_COUNTERS
options         INET_CSUM_COUNTERS
options         TCP_CSUM_COUNTERS
options         UDP_CSUM_COUNTERS
options         TCP_OUTPUT_COUNTERS

#options        NTP             # network time protocol

# Debugging options
##options       DIAGNOSTIC      # extra kernel sanity checking
##options       DEBUG           # extra kernel debugging support
options         DDB             # kernel dynamic debugger
options         DDB_HISTORY_SIZE=100 # enable history editing in DDB
makeoptions     DEBUG="-g"      # compile full symbol table
makeoptions     CPUFLAGS="-march=4kc"
makeoptions     COPY_SYMTAB=1   # size for embedded symbol table

#options        MEMORY_DISK_HOOKS
#options        MEMORY_DISK_IS_ROOT     # Force root on ram-disk
#options        MEMORY_DISK_ROOT_SIZE=16384     # size of memory disk, in blocks

# Compatibility options
include         "conf/compat_netbsd50.config"
#options        EXEC_ECOFF      # exec ECOFF binaries
#options        COMPAT_ULTRIX   # binary compatibility with Ultrix

# File systems
file-system     FFS             # Berkeley Fast Filesystem
#file-system    MFS             # memory-based filesystem
#file-system    EXT2FS          # second extended file system (linux)
file-system     NFS             # Sun NFS-compatible filesystem client
#file-system    KERNFS          # kernel data-structure filesystem
#file-system    NULLFS          # NULL layered filesystem
#file-system    OVERLAY         # overlay file system
#file-system    FDESC           # user file descriptor filesystem
#file-system    UMAPFS          # uid/gid remapping filesystem
#file-system    LFS             # Log-based filesystem (still experimental)
#file-system    PROCFS          # /proc
#file-system    CD9660          # ISO 9660 + Rock Ridge file system
#file-system    UNION           # union file system
#file-system    MSDOSFS         # MS-DOS FAT filesystem(s).
#file-system    CODA            # Coda File System; also needs vcoda (below)

# File system options
#options        FFS_EI          # FFS Endian Independent 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        DISKLABEL_EI    # disklabel Endian Independent support
#options        NFSSERVER       # Network File System server

# Alternate buffer queue strategies for better responsiveness under high
# disk I/O load.
#options        BUFQ_READPRIO
options         BUFQ_PRIOCSCAN

# Networking options
options         GATEWAY         # IP packet forwarding
options         INET            # Internet protocols
#options        INET6           # IPV6
#options        IPSEC           # IP security
#options        IPSEC_DEBUG     # debug for IP security
#options        MROUTING        # packet forwarding of multicast packets
#options        NETATALK        # AppleTalk (over Ethernet) protocol
#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)

# JIT compiler for bpfilter
#options        SLJIT
#options        BPFJIT

# These options enable verbose messages for several subsystems.
# Warning, these may compile large string tables into the kernel!
#options        MIIVERBOSE      # verbose PHY autoconfig messages
#options        PCIVERBOSE      # verbose PCI device autoconfig messages
#options        PCI_CONFIG_DUMP # verbosely dump PCI config space
#options        SCSIVERBOSE     # human readable SCSI error messages
#options        USBVERBOSE      # verbose USB device autoconfig messages

options         NFS_BOOT_DHCP

# Pretty much only one device to use for the root file system.
config          netbsd-admsw0   root on admsw0 type nfs

mainbus0        at root

cpu0            at mainbus?

# Network pseudo-devices
pseudo-device   bpfilter                        # Berkeley packet filter
pseudo-device   carp                            # Common Address Redundancy Protocol
pseudo-device   loop                            # network loopback
#pseudo-device  ppp                             # Point-to-Point Protocol
#pseudo-device  sl                              # Serial Line IP
#pseudo-device  tun                             # network tunneling over tty
#pseudo-device  gre                             # generic L3 over IP tunnel
#pseudo-device  ipip                            # RFC 2003 IP Encapsulation
#pseudo-device  gif                             # RFC1933 tunnel
#pseudo-device  faith                           # IPv[46] tcp relay translation
# Miscellaneous pseudo-devices
pseudo-device   pty                             # pseudo-terminals
#pseudo-device  sequencer                       # MIDI sequencer

# A pseudo device needed for Coda               # also needs CODA (above)
#pseudo-device  vcoda                           # coda minicache <-> venus comm.
pseudo-device   ksyms

obio*           at mainbus?
gpio*           at mainbus?
extio*          at mainbus?
uart*           at obio? addr ?
admsw*          at obio? addr ?
#admflash*      at obio? addr ?
#options        VND_COMPRESSION

include "dev/veriexec.config"