# $NetBSD: INSTALL,v 1.77 2024/01/29 18:27:11 christos Exp $
#
# INSTALL -- installation and rescue kernel.
#
# This kernel should be derived from GENERIC with most features
# commented out to shoehorn into Cobalt kernel size limitations.
#

include 	"arch/cobalt/conf/std.cobalt"

options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary

#ident 		"INSTALL-$Revision: 1.77 $"

makeoptions     COPTS="-Os -mmemcpy"
makeoptions	CPUFLAGS="-march=vr5000 -mabi=32"

maxusers	32

# Standard system options
#options 	KTRACE		# system call tracing support
#options 	SYSVMSG		# System V message queues
#options 	SYSVSEM		# System V semaphores
#options 	SEMMNI=10	# number of semaphore identifiers
#options 	SEMMNS=60	# number of semaphores in system
#options 	SEMUME=10	# max number of undo entries per process
#options 	SEMMNU=30	# number of undo structures in system
#options 	SYSVSHM		# System V shared memory
#options 	NTP		# network time protocol
#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

# Debugging options
#options 	DIAGNOSTIC	# extra kernel sanity checking
#options 	DEBUG		# extra kernel debugging support
options 	DDB		# kernel dynamic debugger
pseudo-device	ksyms
#options 	DDB_HISTORY_SIZE=100 # enable history editing in DDB
#makeoptions	DEBUG="-g"	# compile full symbol table

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

# File systems
file-system	FFS		# Berkeley Fast 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	MFS		# memory-based filesystem
#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	PTYFS		# /dev/pts/N support

# File system options
#options 	NFSSERVER	# Sun NFS-compatible filesystem server
#options 	QUOTA		# legacy UFS quotas
#options 	QUOTA2		# new, in-filesystem UFS quotas
#options 	FFS_EI		# FFS Endian Independent support
options 	WAPBL		# File system journaling support
options 	FFS_NO_SNAPSHOT	# No FFS snapshot support

# 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)
#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

# 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 	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

options 	NFS_BOOT_DHCP

config		netbsd	root on ? type ?

mainbus0 	at root

cpu0 		at mainbus?

mcclock0	at mainbus? addr 0x10000070

com0		at mainbus? addr 0x1c800000 level 3
options 	COM_16650

zsc0		at mainbus? addr 0x1c800000 irq 4
zstty0		at zsc0 channel 0
#zstty1		at zsc0 channel 1

lcdpanel0	at mainbus? addr 0x1f000000

gt0 		at mainbus? addr 0x14000000

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

options 	PCI_NETBSD_CONFIGURE

# Cryptographic Devices

# PCI cryptographic devices
#hifn*	at pci? dev ? function ?	# Hifn 7755/7811/795x
#ubsec*	at pci? dev ? function ?	# Broadcom 5501/5601/580x/582x

# PCI serial/parallel interfaces
puc* 		at pci? dev ? function ? 	# PCI "universal" comm. cards
com* 		at puc? port ?
#lpt* 		at puc? port ?
#cy* 		at pci? dev ? function ?	# Cyclades Cyclom-Y serial cards

# 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
#esiop*		at pci? dev ? function ?	# NCR 53c82s75xx SCSI and newer
#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 esiop?
#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

# RAID controllers and devices
#cac*		at pci? dev ? function ?	# Compaq array controller
#ca*		at cac? unit ?			# Compaq array disk device

# 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

# ATA bus
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

# PCI network interfaces
#ep*		at pci? dev ? function ?	# 3Com 3c59x
#ex*		at pci? dev ? function ?	# 3Com 90x[BC]
#epic*		at pci? dev ? function ?	# SMC EPIC/100 Ethernet
#fxp*		at pci? dev ? function ?	# Intel EtherExpress PRO10+/100B
#pcn*		at pci? dev ? function ?	# PCnet-PCI Ethernet
#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
#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
#exphy*		at mii? phy ?			# 3Com internal PHYs
#icsphy*		at mii? phy ?			# ICS189x PHYs
#inphy*		at mii? phy ?			# Intel 82555 PHYs
#iophy*		at mii? phy ?			# Intel 82553 PHYs
lxtphy*		at mii? phy ?			# Level One LXT-970 PHYs
#nsphy*		at mii? phy ?			# NS83840 PHYs
#nsphyter* 	at mii? phy ?			# NS83843 PHYs
#qsphy*		at mii? phy ?			# Quality Semiconductor QS6612
#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

# PCI audio devices
#clcs*		at pci? dev ? function ?	# Cirrus Logic CS4280
#eap*		at pci? dev ? function ?	# Ensoniq AudioPCI
#emuxki* 	at pci? dev ? function ?	# SoundBlaster Live!
#eso*		at pci? dev ? function ?	# ESS Solo-1 PCI AudioDrive
#fms*		at pci? dev ? function ?	# Forte Media FM801
#sv*		at pci? dev ? function ?	# S3 SonicVibes

# Audio support
#audio*		at audiobus?

#spkr*		at audio?			# PC speaker (synthesized)

# Pseudo-devices

#pseudo-device 	crypto				# /dev/crypto device
#pseudo-device	swcrypto			# software crypto implementation

# Disk/mass storage pseudo-devices
#pseudo-device	ccd				# concatenated disk devices
#pseudo-device	cgd				# cryptographic disk devices
#pseudo-device	raid				# RAIDframe disk driver
#options 	RAID_AUTOCONFIG			# auto-configuration of RAID
# 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
#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	pppoe				# PPP over Ethernet (RFC 2516)
#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	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
options 	NO_DEV_PTM
#pseudo-device	sequencer			# MIDI sequencer
#options 	RND_COM				# use "com" randomness (BROKEN)
#pseudo-device	clockctl		# user control of clock subsystem
pseudo-device	nullcons			# no-op console

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