#       $NetBSD: MALTA,v 1.106 2024/01/29 18:27:11 christos Exp $

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

#options        INCLUDE_CONFIG_FILE     # embed config file in kernel binary

#ident          "MALTA-$Revision: 1.106 $"

maxusers        32

options         MIPS32
options         MIPS64

options         NOFPU           # No FPU
options         FPEMUL          # emulate FPU insn

# Options for necessary to use MD
# options       MEMORY_DISK_HOOKS
# options       MEMORY_DISK_IS_ROOT     # force root on memory disk
# options       MEMORY_DISK_SERVER=0    # no userspace memory disk support
# options       MEMORY_DISK_ROOT_SIZE=6144      # size of memory disk, in blocks
#options        MEMORY_DISK_ROOT_SIZE=16384     # size of memory disk, in blocks

# Standard system options
options         KTRACE          # system call tracing support
options         SYSVMSG         # System V message queues
options         SYSVSEM         # System V semaphores
options         SYSVSHM         # System V shared memory
options         NTP             # network time protocol

# Debugging options
options         DIAGNOSTIC      # extra kernel sanity checking
#options        DEBUG           # extra kernel debugging support
#options        SYSCALL_DEBUG   # symbolic syscall names
options         USERCONF        # userconf(4) support
#options        SYSCTL_INCLUDE_DESCR    # Include sysctl descriptions in kernel
options         DDB             # kernel dynamic debugger
options         DDB_HISTORY_SIZE=100 # enable history editing in DDB
makeoptions     DEBUG="-g"      # compile full symbol table
makeoptions     COPY_SYMTAB=1   # size for embedded symbol table

# Compatibility options

include         "conf/compat_netbsd16.config"

#options        EXEC_ECOFF      # exec ECOFF binaries
#options        COMPAT_ULTRIX   # binary compatibility with Ultrix
#options        COMPAT_LINUX    # binary compatibility with Linux
#options        COMPAT_OSSAUDIO # binary compatibility with Linux

# 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     TMPFS           # Efficient memory 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     PTYFS           # /dev/pts/N support

# 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         WAPBL           # File system journaling 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        PIM             # Protocol Independent Multicast
#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        PCI_NETBSD_CONFIGURE    # NetBSD configures the PCI bus
options         PCIVERBOSE      # verbose PCI device autoconfig messages
#options        PCI_CONFIG_DUMP # verbosely dump PCI config space
#options        SCSIVERBOSE     # human readable SCSI error messages
options         MIIVERBOSE      # verbose PHY autoconfig messages

# Bitmask for enabling the PCI IDE channels in the southbridge.
# Set bit 0 (0x01) for channel 0, bit 1 (0x02) for channel 1.
#
# Do this if your firmware (usually PMON and YAMON) doesn't enable the IDE
# channels for you (thus causing the NetBSD `pciide' driver to ignore them).
options         PCI_NETBSD_ENABLE_IDE=0x1

options         NFS_BOOT_DHCP

config          netbsd  root on ? type ?


mainbus0        at root
cpu0            at mainbus?
gt0             at mainbus?

#com2           at mainbus?     # CBUS UART (ugh, 64 bit register spacing)

pci*            at gt0
pchb*           at pci? dev ? function ?
pcib*           at pci? dev ? function ?

# ISA bus support
isa*            at pcib?

# ISA devices
mcclock*        at isa? port 0x70               # mc146818-compatible
com0            at isa? port 0x3f8 irq 4        # standard serial ports
com1            at isa? port 0x2f8 irq 3
#fdc0           at isa? port 0x3f0 irq 6 drq 2  # floppy controller

# Floppy drives
#fd*            at fdc? drive ?

# wscons
#vga*           at pci? dev ? function ?
#wsdisplay*     at vga? console ?
#pckbc*         at isa?                         # PC keyboard controller
#pckbd*         at pckbc?                       # PC keyboard (kbd port)
#pms*           at pckbc?                       # PS/2-style mouse (aux port)
#wskbd*         at pckbd?
#wsmouse*       at pms?

# PCI SCSI controllers
#adv*           at pci? dev ? function ?        # AdvanSys 1200[A,B], 9xx[U,UA]
#adw*           at pci? dev ? function ?        # AdvanSys 9xxUW SCSI
#ahc*           at pci? dev ? function ?        # Adaptec [23]94x, aic78x0 SCSI
#bha*           at pci? dev ? function ?        # BusLogic 9xx SCSI
#dpt*           at pci? dev ? function ?        # DPT SmartCache/SmartRAID
#isp*           at pci? dev ? function ?        # Qlogic ISP [12]0x0 SCSI/FC
#siop*          at pci? dev ? function ?        # NCR 53c8xx SCSI
#pcscp*         at pci? dev ? function ?        # AMD 53c974 PCscsi-PCI SCSI

# SCSI bus support
#scsibus*       at adv?
#scsibus*       at adw?
#scsibus*       at ahc?
#scsibus*       at bha?
#scsibus*       at dpt?
#scsibus*       at isp?
#scsibus*       at siop?
#scsibus*       at pcscp?

# SCSI devices
#sd*            at scsibus? target ? lun ?      # SCSI disk drives
#st*            at scsibus? target ? lun ?      # SCSI tape drives
#cd*            at scsibus? target ? lun ?      # SCSI CD-ROM drives
#ch*            at scsibus? target ? lun ?      # SCSI autochangers
#ss*            at scsibus? target ? lun ?      # SCSI scanners
#uk*            at scsibus? target ? lun ?      # SCSI unknown

# IDE and related devices
# PCI IDE controllers - see pciide(4) for supported hardware.
# The 0x0001 flag force the driver to use DMA, even if the driver doesn't know
# how to set up DMA modes for this chip. This may work, or may cause
# a machine hang with some controllers.
pciide*         at pci? dev ? function ? flags 0x0000   # GENERIC pciide driver
acardide*       at pci? dev ? function ?        # Acard IDE controllers
aceride*        at pci? dev ? function ?        # Acer Lab IDE controllers
artsata*        at pci? dev ? function ?        # Intel i31244 SATA controller
cmdide*         at pci? dev ? function ?        # CMD tech IDE controllers
cypide*         at pci? dev ? function ?        # Cypress IDE controllers
hptide*         at pci? dev ? function ?        # Triones/HighPoint IDE controllers
optiide*        at pci? dev ? function ?        # Opti IDE controllers
pdcide*         at pci? dev ? function ?        # Promise IDE controllers
pdcsata*        at pci? dev ? function ?        # Promise SATA150 controllers
satalink*       at pci? dev ? function ?        # SiI SATALink controllers
siside*         at pci? dev ? function ?        # SiS IDE controllers
slide*          at pci? dev ? function ?        # Symphony Labs IDE controllers
viaide*         at pci? dev ? function ?        # VIA/AMD/Nvidia IDE controllers

atabus*         at ata? channel ?

# IDE drives
# Flags are used only with controllers that support DMA operations
# and mode settings (e.g. some pciide controllers)
# The lowest order four bits (rightmost digit) of the flags define the PIO
# mode to use, the next set of four bits the DMA mode and the third set the
# UltraDMA mode. For each set of four bits, the 3 lower bits define the mode
# to use, and the last bit must be 1 for this setting to be used.
# For DMA and UDMA, 0xf (1111) means 'disable'.
# 0x0fac means 'use PIO mode 4, DMA mode 2, disable UltraDMA'.
# (0xc=1100, 0xa=1010, 0xf=1111)
# 0x0000 means "use whatever the drive claims to support".
wd*             at atabus? drive ? flags 0x0000

# PCI network interfaces
ath*            at pci? dev ? function ?        # Atheros WLAN
#ep*            at pci? dev ? function ?        # 3Com 3c59x
#ex*            at pci? dev ? function ?        # 3Com 90x[B]
#epic*          at pci? dev ? function ?        # SMC EPIC/100 Ethernet
#fxp*           at pci? dev ? function ?        # Intel EtherExpress PRO10+/100B
pcn*            at pci? dev ? function ?        # AMD PCnet-PCI Ethernet
options         PCN_EVENT_COUNTERS
#ne*            at pci? dev ? function ?        # NE2000-compatible Ethernet
#ntwoc*         at pci? dev ? function ?        # Riscom/N2 PCI Sync Serial
sip*            at pci? dev ? function ?        # SiS 900 Ethernet
options         SIP_EVENT_COUNTERS
#tl*            at pci? dev ? function ?        # ThunderLAN-based Ethernet
#tlp*           at pci? dev ? function ?        # DECchip 21x4x and clones
#vr*            at pci? dev ? function ?        # VIA Rhine Fast Ethernet
#rtk*           at pci? dev ? function ?        # Realtek 8129/8139

# MII/PHY support
#acphy*         at mii? phy ?           # DAltima AC101 and AMD Am79c874 PHYs
#amhphy*        at mii? phy ?           # AMD 79c901 Ethernet PHYs
#bmtphy*        at mii? phy ?           # Broadcom BCM5201 and BCM5202 PHYs
#brgphy*        at mii? phy ?           # Broadcom BCM5400-family PHYs
#dmphy*         at mii? phy ?           # Davicom DM9101 PHYs
#exphy*         at mii? phy ?           # 3Com internal PHYs
#glxtphy*       at mii? phy ?           # Level One LXT-1000 PHYs
#gphyter*       at mii? phy ?           # NS83861 Gig-E PHY
#icsphy*        at mii? phy ?           # Integrated Circuit Systems ICS1890
#inphy*         at mii? phy ?           # Intel 82555 PHYs
#iophy*         at mii? phy ?           # Intel 82553 PHYs
#lxtphy*        at mii? phy ?           # Level One LXT-970 PHYs
#makphy*        at mii? phy ?           # Marvell Semiconductor 88E1000 PHYs
#nsphy*         at mii? phy ?           # NS83840 PHYs
nsphyter*       at mii? phy ?           # NS83843 PHYs
#pnaphy*        at mii? phy ?           # generic HomePNA PHYs
#qsphy*         at mii? phy ?           # Quality Semiconductor QS6612 PHYs
#sqphy*         at mii? phy ?           # Seeq 80220/80221/80223 PHYs
#tlphy*         at mii? phy ?           # ThunderLAN PHYs
#tqphy*         at mii? phy ?           # TDK Semiconductor PHYs
ukphy*          at mii? phy ?           # generic unknown PHYs


# USB
ohci*           at pci? dev ? function ?        # USB Open Host Controller
uhci*           at pci? dev ? function ?        # USB Univ. Host Controller

# USB bus support
usb*            at uhci?
usb*            at ohci?

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

# ....

# USB Generic driver
ugen*           at uhub? port ?

# Audio Devices

# PCI audio devices
clct*           at pci? dev ? function ?        # Cirrus Logic CS4281

# Audio support
audio*          at clct?

spkr*           at audio?                       # PC speaker (synthesized)

# Pseudo-devices

# Disk/mass storage pseudo-devices
#pseudo-device  ccd                             # concatenated disk devices
#pseudo-device  raid                            # RAIDframe disk driver
#options        RAID_AUTOCONFIG                 # auto-configuration of RAID
#pseudo-device  fss                             # file system snapshot device
#pseudo-device  md                              # memory disk device (ramdisk)
pseudo-device   vnd                             # disk-like interface to files

# Network pseudo-devices
pseudo-device   bpfilter                        # Berkeley packet filter
pseudo-device   npf                     # NPF 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  tap                             # virtual Ethernet
#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
#pseudo-device  stf                             # 6to4 IPv6 over IPv4 encapsulation
pseudo-device   vlan                            # IEEE 802.1q encapsulation
pseudo-device   bridge                          # simple inter-network bridging
#pseudo-device  vether                          # Virtual Ethernet for bridge

# Miscellaneous pseudo-devices
pseudo-device   pty                             # pseudo-terminals
#pseudo-device  sequencer                       # MIDI sequencer
pseudo-device   clockctl                        # user control of clock subsystem
pseudo-device   drvctl                          # user control of drive subsystem
pseudo-device   ksyms                           # /dev/ksyms

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

include "dev/veriexec.config"