# $NetBSD: GDIUM,v 1.40 2022/08/07 02:52:25 simonb Exp $
#
# GDIUM 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/evbmips/conf/std.gdium"

options         INCLUDE_CONFIG_FILE     # embed config file in kernel binary

#ident          "GDIUM-$Revision: 1.40 $"

maxusers        16

makeoptions     CPUFLAGS="-mips3 -mdivide-breaks"       # CPU codegen options
options         LOONGSON2               # IDT LOONGSON2
# Standard system options
options         DDB                     # in-kernel debugger
#options        DDB_ONPANIC=0           # don't enter debugger on panic
options         DDB_HISTORY_SIZE=512    # enable history editing in DDB
#options        KGDB                    # remote debugger
options         DIAGNOSTIC              # extra kernel debugging checks
#options        DEBUG                   # extra kernel debugging support
makeoptions     DEBUG="-g"
options         KTRACE                  # system call tracing support
options         MSGBUFSIZE=8192         # dmesg buffer size

## UVM options.
#options        UVM_PAGE_TRKOWN
#options        UVMHIST
#options        UVMHIST_PRINT   # Loud!

#options        SCSIVERBOSE             # human readable SCSI error messages
#options        PCMCIAVERBOSE           # verbose PCMCIA configuration messages
#options        PCMCIADEBUG
#options        PCMCIACISDEBUG

#options        RTC_OFFSET=0    # hardware clock is this many mins. west of GMT
#options        RTC_OFFSET=-540         # JST-9
#options        RTC_OFFSET=480          # PST8
                                       # In NO RTC_OFFSET , inherit RTC_OFFSET
                                       # from Windows CE.
options         NTP                     # network time protocol

#options        WINCE_DEFAULT_SETTING   # Debugging use

#options        SYSCALL_DEBUG           # for debug
#options        HPCMIPS_L1CACHE_DISABLE # disable L1 cache for debug
options         USERCONF                # userconf(4) support
#options        PIPE_SOCKETPAIR         # smaller, but slower pipe(2)
options         SYSCTL_INCLUDE_DESCR    # Include sysctl descriptions in kernel

# Filesystem options
file-system     FFS             # fast filesystem with user and group quotas
file-system     MFS             # memory-based filesystem
file-system     NFS             # Sun NFS-compatible filesystem (client)
#file-system    LFS             # Log-based filesystem (still experimental)
file-system     CD9660          # ISO 9660 + Rock Ridge file system
file-system     MSDOSFS         # MS-DOS file system
#file-system    FDESC           # /dev/fd
file-system     KERNFS          # /kern (kernel informational filesystem)
#file-system    NULLFS          # loopback file system
#file-system    OVERLAY         # overlay file system
file-system     PROCFS          # /proc
#file-system    UMAPFS          # NULLFS + uid and gid remapping
file-system     UNION
file-system     PTYFS           # /dev/pts/N support
#file-system    TMPFS           # Efficient memory file-system
#file-system    UDF             # experimental - OSTA UDF CD/DVD file-system

#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        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            # IP + ICMP + TCP + UDP
options         INET6           # IPV6
#options        IPSEC           # IP security
#options        IPSEC_DEBUG     # debug for IP security
#options        MROUTING        # Multicast routing support
#options        PIM             # Protocol Independent Multicast

# JIT compiler for bpfilter
#options        SLJIT
#options        BPFJIT

#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

# NetBSD backwards compatibility
include         "conf/compat_netbsd16.config"

#options        NFS_BOOT_DHCP
options         NFS_BOOT_BOOTP
#options        NFS_BOOT_BOOTPARAM

# compile options
#makeoptions    DEFGP="-G 10"

config          netbsd          root on ? type ?

# WS console uses SUN or VT100 terminal emulation
options         WSEMUL_VT100
options         WSDISPLAY_COMPAT_USL            # wsconscfg VT handling
#options        WSDISPLAY_DEFAULTSCREENS=4
options         FONT_GALLANT12x22
# compatibility to other console drivers
options         WSDISPLAY_COMPAT_RAWKBD         # can get raw scancodes

mainbus0        at root
cpu0            at mainbus0
bonito0         at mainbus0
pci0            at bonito0
voyager0        at pci0 dev ? function ?
voyagerfb0      at voyager0
iic*            at voyager0
strtc*  at iic? addr 0x68                       # ST M41T80/81?
lmtemp* at iic? addr 0x48
#stvii* at iic? addr 0x40
#genfb0         at pci0 dev ? function ?
wsdisplay0      at wsemuldisplaydev?
ehci*           at pci0 dev ? function ?
#options        EHCI_DEBUG
ohci*           at pci0 dev ? function ?
#options        OHCI_DEBUG, USB_DEBUG, UHUB_DEBUG

ral*            at pci0 dev ? function ?        # RL2561S 802.11b/g
rtk*            at pci0 dev ? function ?        # RTL8139 100/10 Ethernet
# MII/PHY support
ukphy*          at mii? phy ?           # generic unknown PHYs

# USB Hubs
usb*            at ehci?
usb*            at ohci?
uhub*           at usb?
uhub*           at uhub? port ?

# USB HID device
uhidev*         at uhub? port ? configuration ? interface ?

# USB Mice
ums*            at uhidev? reportid ?
wsmouse*        at ums? mux 0

# USB Keyboards
ukbd*           at uhidev? reportid ?
wskbd*          at ukbd? console ? mux 1

# USB Generic HID devices
uhid*           at uhidev? reportid ?

# USB serial adapter
uftdi*          at uhub? port ? configuration ?

# USB Printer
ulpt*           at uhub? port ? configuration ? interface ?

# USB Modem
umodem*         at uhub? port ? configuration ?
ucom*           at umodem?

# Option N.V. Wireless WAN modems
uhso*   at uhub? port ? configuration ?

# USB Mass Storage
umass*          at uhub? port ? configuration ? interface ?
scsibus*         at umass? channel ?
sd*             at scsibus? target ? lun ?      # SCSI disk drives
cd*             at scsibus? target ? lun ?      # SCSI CD-ROM drives

# FTDI FT8U100AX serial adapter
uftdi*          at uhub? port ?
ucom*           at uftdi? portno ?

uplcom*         at uhub? port ?         # I/O DATA USB-RSAQ2 serial adapter
ucom*           at uplcom? portno ?

umct*           at uhub? port ?         # MCT USB-RS232 serial adapter
ucom*           at umct? portno ?

# USB Generic driver
ugen*           at uhub? port ?

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

pseudo-device   loop                    # network loopback
pseudo-device   ppp                     # serial-line IP ports
pseudo-device   pppoe                   # PPP over Ethernet (RFC 2516)
pseudo-device   pty                     # pseudo-terminals
pseudo-device   bpfilter                # packet filter ports
pseudo-device   carp                    # Common Address Redundancy Protocol
pseudo-device   npf                     # NPF packet filter

pseudo-device   vnd                     # virtual disk ick
#options        VND_COMPRESSION         # compressed vnd(4)
#pseudo-device  ccd                     # concatenated disks
pseudo-device   fss                     # file system snapshot device
#pseudo-device  cgd                     # cryptographic disks
pseudo-device   clockctl                # user control of clock subsystem

pseudo-device   wsmux                   # mouse & keyboard multiplexor
#pseudo-device  md                      # memory disk device (ramdisk)

#pseudo-device  raid                    # RAIDframe disk driver
#options        RAID_AUTOCONFIG         # auto-configuration of RAID components
# Options to enable various other RAIDframe RAID types.
# options       RF_INCLUDE_EVENODD=1
# options       RF_INCLUDE_RAID5_RS=1
# options       RF_INCLUDE_PARITYLOGGING=1
# options       RF_INCLUDE_CHAINDECLUSTER=1
# options       RF_INCLUDE_INTERDECLUSTER=1
# options       RF_INCLUDE_PARITY_DECLUSTERING=1
# options       RF_INCLUDE_PARITY_DECLUSTERING_DS=1

# for IPv6
pseudo-device   gif                     # IPv[46] over IPv[46] tunnel (RFC1933)
#pseudo-device  faith                   # IPv[46] tcp relay translation i/f
pseudo-device   stf                     # 6to4 IPv6 over IPv4 encapsulation

## IEEE 802.1Q Virtual LAN encapsulation, see vlan(4).
pseudo-device   vlan

## Simple inter-network traffic bridging
pseudo-device   bridge
#pseudo-device  vether                  # Virtual Ethernet for bridge
pseudo-device   agr                     # IEEE 802.3ad link aggregation
pseudo-device   ksyms                   # /dev/ksyms

include "dev/veriexec.config"