#       $NetBSD: ARCTIC,v 1.74 2024/01/29 18:27:10 christos Exp $
#       $OpenBSD: ARCTIC,v 1.12 1999/08/29 12:14:03 niklas Exp $
#
#       configuration file for DeskStation
#

include         "arch/arc/conf/std.arc"

#options        INCLUDE_CONFIG_FILE     # embed config file in kernel binary

maxusers        32              # estimated number of users

# Platform support
options         PLATFORM_DESKTECH_ARCSTATION_I  # DeskStation rPC44
options         PLATFORM_DESKTECH_TYNE          # DeskStation Tyne

# Misc. arc-specific options
options         PCCONS_FORCE_WORD       # Max out at 16bit accesses to the
                                       # VGA memory

# Standard system options

options         RTC_OFFSET=0    # hardware clock is this many mins. west of GMT
options         NTP             # NTP phase/frequency locked loop

options         KTRACE          # system call tracing via ktrace(1)

options         SYSVMSG         # System V-like message queues
options         SYSVSEM         # System V-like semaphores
options         SYSVSHM         # System V-like memory sharing

options         USERCONF        # userconf(4) support
#options        PIPE_SOCKETPAIR # smaller, but slower pipe(2)
#options        SYSCTL_INCLUDE_DESCR    # Include sysctl descriptions in kernel

# Diagnostic/debugging support options
options         DIAGNOSTIC              # cheap kernel consistency checks
#options        DEBUG                   # expensive debugging checks/support
options         DDB                     # in-kernel debugger
pseudo-device   ksyms
#options        DDB_HISTORY_SIZE=100    # enable history editing in DDB
#options        KGDB                    # remote gdb
#options        KGDB_DEVRATE=19200      # kernel gdb port rate (default 9600)
#options        KGDB_DEV="17*256+0"     # device for kernel gdb
#makeoptions    DEBUG="-g"              # compile full symbol table

# Compatibility options
include         "conf/compat_netbsd10.config"
options         COMPAT_386BSD_MBRPART # recognize old partition ID

# mipsel specific
options         COMPAT_ULTRIX   # Ultrix binary compatibility
options         EXEC_ECOFF      # Ultrix RISC binaries are ECOFF format

# File systems
file-system     FFS             # fast filesystem
#file-system    EXT2FS          # second extended file system (linux)
#file-system    LFS             # log-structured file system
file-system     MFS             # memory file system
file-system     NTFS            # Windows/NT file system (experimental)
file-system     CD9660          # ISO 9660 + Rock Ridge file system
file-system     MSDOSFS         # MS-DOS file system
file-system     NFS             # Network File System client
file-system     FDESC           # /dev/fd
file-system     KERNFS          # /kern
#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           # union file system
#file-system    CODA            # Coda File System; also needs vcoda (below)
file-system     PTYFS           # /dev/pts/N support

# File system options
options         QUOTA           # legacy UFS quotas
options         QUOTA2          # new, in-filesystem UFS quotas
#options        FFS_EI          # FFS Endian Independent support
options         NFSSERVER       # Network File System server
#options        FFS_NO_SNAPSHOT # No FFS snapshot support

# 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        # 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        TCP_DEBUG       # Record last TCP_NDEBUG packets with SO_DEBUG

# 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        EISAVERBOSE     # verbose EISA device 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

# wscons terminal emulation
options         WSEMUL_VT100    # VT100 emulation
options         WSDISPLAY_COMPAT_USL            # wsconscfg VT handling

# Kernel root file system and dump configuration.
options         NFS_BOOT_DHCP,NFS_BOOT_BOOTPARAM
config          netbsd  root on ? type ?

#
# Device configuration
#

mainbus0        at root
cpu*            at mainbus0

#### ISA bus devices

# PLATFORM_DESKTECH_ARCSTATION_I
arcsisabr*      at mainbus0     # DeskStation rPC44 ISA host bridge.
isa*            at arcsisabr?

# PLATFORM_DESKTECH_TYNE
tyneisabr*      at mainbus0     # DeskStation Tyne ISA host bridge.
isa*            at tyneisabr?

#isadma0        at isa?

timer0          at isa? port 0x40 irq 0
mcclock0        at isa? port 0x70

pc0             at isa? irq 1                   # generic PC console device
opms0           at isa? irq 12                  # PS/2 auxiliary port mouse
#vga0           at isa?
#pckbc0         at isa?                         # PC keyboard controller
com0            at isa? port 0x3f8 irq 4
com1            at isa? port 0x2f8 irq 3
com2            at isa? port 0x3e8 irq 4
com3            at isa? port 0x2e8 irq 3
ast0            at isa? port 0x1a0 irq 3        # AST 4-port serial cards
com*            at ast? slave ?

# Joystick driver. Probe is a little strange; add only if you have one.
joy0            at isa? port 0x201

# ISA ST506, ESDI, and IDE controllers
# Use flags 0x01 if you want to try to use 32bits data I/O (the driver will
# fall back to 16bits I/O if 32bits I/O are not functional).
# Some controllers pass the initial 32bit test, but will fail later.
wdc0            at isa? port 0x1f0 irq 14 flags 0x00
wdc1            at isa? port 0x170 irq 15 flags 0x00
#wdc*           at isapnp?

# ISA parallel printer interfaces
lpt0            at isa? port 0x378 irq 7

# ISA network interfaces
ec0             at isa? port 0x250 iomem 0xd8000 irq 9  # 3Com 3c503 Ethernet
ep0             at isa? port ? irq ?            # 3C509 ethernet cards
ne0             at isa? port 0x280 irq 9        # NE[12]000 ethernet cards
ne1             at isa? port 0x300 irq 10
#ne*            at isapnp?                      # NE[12]000 PnP ethernet
we0             at isa? port 0x280 iomem 0xd0000 irq 9  # WD/SMC Ethernet
we1             at isa? port 0x300 iomem 0xcc000 irq 10

#aha0           at isa? port 0x330 irq ? drq ?  # Adaptec 154[02] SCSI
#aha1           at isa? port 0x334 irq ? drq ?  # Adaptec 154[02] SCSI
btl0            at isa? port 0x330 irq ? drq ?
#wds0           at isa? port 0x350 irq 15 drq 6 # WD7000 and TMC-7000 SCSI
#wds1           at isa? port 0x358 irq 11 drq 5

# SCSI bus support
scsibus*        at scsi?

#### SCSI bus devices

sd*             at scsibus? target ? lun ?
st*             at scsibus? target ? lun ?
cd*             at scsibus? target ? lun ?
ch*             at scsibus? target ? lun ?
ss*             at scsibus? target ? lun ?
uk*             at scsibus? target ? lun ?

# ATA (IDE) bus support
atabus*         at ata?

# 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

# ATAPI bus support
atapibus*       at atapi?

#### ATAPI bus devices

# flags have the same meaning as for IDE drives.
cd*             at atapibus? drive ? flags 0x0000       # ATAPI CD-ROM drives
sd*             at atapibus? drive ? flags 0x0000       # ATAPI disk drives
uk*             at atapibus? drive ? flags 0x0000       # ATAPI unknown

#### Workstation Console attachments

#wsdisplay*     at vga?
#wsdisplay*     at tga?
#pckbd*         at pckbc?       # PC keyboard (kbd port)
#wskbd*         at pckbd?
#pms*           at pckbc?       # PS/2-style mouse (aux port)
#wsmouse*       at pms?

#### Pseudo devices

# disk/mass storage pseudo-devices
pseudo-device   ccd                     # concatenated/striped disk devices
#pseudo-device  raid                    # RAIDframe disk driver
#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   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   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
pseudo-device   vlan                    # IEEE 802.1q encapsulation

# miscellaneous pseudo-devices
pseudo-device   pty                     # pseudo-terminals
#pseudo-device  sequencer               # MIDI sequencer
# rnd works; RND_COM does not on port arc yet.
#options        RND_COM                 # use "com" randomness as well (BROKEN)
pseudo-device   clockctl                # user control of clock subsystem

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

# mouse & keyboard multiplexor pseudo-devices
#pseudo-device  wsmux