# $NetBSD: GENERIC,v 1.98.2.3 2004/07/15 20:17:24 he Exp $
#
# GENERIC 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/arc/conf/std.arc"

options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary

#ident		"GENERIC-$Revision: 1.1.1.5 $"

maxusers	32		# estimated number of users

# Platform support
options 	PLATFORM_ACER_PICA_61		# PICA, NEC ImageRISCstation
options 	PLATFORM_DESKTECH_ARCSTATION_I	# DeskStation rPC44
options 	PLATFORM_DESKTECH_TYNE		# DeskStation Tyne
options 	PLATFORM_MICROSOFT_JAZZ		# MIPS Magnum
options 	PLATFORM_NEC_J96A		# NEC Express 5800/240 EISA R4K
options 	PLATFORM_NEC_JC94		# NEC Express 5800/230 PCI R4K
options 	PLATFORM_NEC_R94		# NEC RISCstation 2200 EISA
options 	PLATFORM_NEC_R96	# NEC Express RISCserver, RISCserver 2200
options 	PLATFORM_NEC_RAX94		# NEC RISCstation 2200 PCI
options 	PLATFORM_NEC_RD94		# NEC RISCstation 2250
options 	PLATFORM_SNI_RM200PCI

# 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 	SYSTRACE	# system call vetting via systrace(1)

options 	SYSVMSG		# System V-like message queues
options 	SYSVSEM		# System V-like 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-like memory sharing
#options 	SHMMAXPGS=1024	# 1024 pages is the default
options 	P1003_1B_SEMAPHORE # p1003.1b semaphore support

options 	LKM		# loadable kernel modules

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

# Enable experimental buffer queue strategy for better responsiveness under 
# high disk I/O load. Use it with caution - it's not proven to be stable yet.
#options 	NEW_BUFQ_STRATEGY

# Diagnostic/debugging support options
options 	DIAGNOSTIC		# cheap kernel consistency checks
#options 	DEBUG			# expensive debugging checks/support
#options 	KMEMSTATS		# kernel memory statistics (vmstat -m)
options 	DDB			# in-kernel debugger
#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
options 	SYMTAB_SPACE=262144

# Compatibility options
#options 	TCP_COMPAT_42	# 4.2BSD TCP/IP bug compat. Not recommended.
options 	COMPAT_10	# NetBSD 1.0,
options 	COMPAT_11	# NetBSD 1.1,
options 	COMPAT_12	# NetBSD 1.2,
options 	COMPAT_13	# NetBSD 1.3,
options 	COMPAT_14	# NetBSD 1.4,
options 	COMPAT_16	# NetBSD 1.6,
options 	COMPAT_43	# and 4.3BSD
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 	PORTAL		# portal filesystem (still experimental)
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 options
options 	QUOTA		# FFS quotas
#options 	FFS_EI		# FFS Endian Independent support
options 	SOFTDEP		# FFS soft updates support.
options 	NFSSERVER	# Network File System server
#options 	EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and
				# immutable) behave as system flags.

# Networking options
#options 	GATEWAY		# IP packet forwarding
options 	INET		# IP + ICMP + TCP + UDP
options 	INET6		# IPV6
#options 	IPSEC		# IP security
#options 	IPSEC_ESP	# IP security (encryption part; define w/IPSEC)
#options 	IPSEC_DEBUG	# debug for IP security
#options 	MROUTING	# IP multicast routing
options 	NS		# XNS
#options 	NSIP		# XNS tunneling over IP
options 	ISO,TPIP	# OSI networking
#options 	EON		# OSI tunneling over IP
options 	CCITT,LLC,HDLC	# X.25
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 	PFIL_HOOKS	# pfil(9) packet filter hooks
options 	IPFILTER_LOG	# ipmon(8) log support
#options 	IPFILTER_DEFAULT_BLOCK	# block all packets by default
#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

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

# wscons terminal emulation
options 	WSEMUL_VT100	# VT100 emulation

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

#
# Device configuration
#

mainbus0	at root
cpu*		at mainbus0

#### Jazz-Internal bus devices

# PLATFORM_ACER_PICA_61
# PLATFORM_MICROSOFT_JAZZ
# PLATFORM_NEC_J96A
# PLATFORM_NEC_JC94
# PLATFORM_NEC_R94
# PLATFORM_NEC_R96
# PLATFORM_NEC_RAX94
# PLATFORM_NEC_RD94
jazzio*		at mainbus0	# Jazz-Internal bus host bridge.

timer0		at jazzio?
mcclock0 	at jazzio?
#pc0		at jazzio?
#opms0		at jazzio?
vga0		at jazzio?	# Jazz localbus VGA
pckbc0		at jazzio?	# PC keyboard controller
com0		at jazzio?
com1		at jazzio?
lpt0		at jazzio?
sn0		at jazzio?

fdc0		at jazzio?
fd*		at fdc? drive ?

asc0		at jazzio? flags 0x000000	# NCR53C9x SCSI
osiop*		at jazzio? flags 0x00000	# NCR53C710 SCSI
oosiop* 	at jazzio?			# NCR53C700 SCSI

#### ISA bus devices

# PLATFORM_ACER_PICA_61
# PLATFORM_MICROSOFT_JAZZ
# PLATFORM_NEC_J96A
# PLATFORM_NEC_R94
# PLATFORM_NEC_R96
jazzisabr*	at mainbus0	# Jazz-(E)ISA bus bridge.
isa*		at jazzisabr?

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

isapnp0 	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?
#options 	VGA_RASTERCONSOLE
options 	VGA_RESET
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
ep*		at isa? port ? irq ?		# 3C509 ethernet cards
ep*		at isapnp?			# 3C509B ethernet card
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

# XXX - should be configured
#btl0		at isa? port 0x330 irq ? drq ?

#### PCI bus devices

# PLATFORM_NEC_JC94
# PLATFORM_NEC_RAX94
# PLATFORM_NEC_RD94
necpb*		at mainbus0	# NEC RISCstation PCI host bridge.
pci*		at necpb?

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

#vga*	 	at pci? dev ? function ?
tga*		at pci? dev ? function ?	# DEC ZLXp-E[123] Graphics

ahc*		at pci? dev ? function ?	# Adaptec [23]94x, aic78x0 SCSI
iha*		at pci? dev ? function ?	# Initio INIC-940/950 SCSI
pcscp*		at pci? dev ? function ?	# AMD Am53c974 PCscsi-PCI SCSI
siop*		at pci? dev ? function ?	# NCR/Symbios 53c8xx SCSI
esiop*		at pci? dev ? function ?	# NCR/Symbios 53c875/95/1010
trm*		at pci? dev ? function ?	# Tekram DC-395/315 SCSI

# 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
#piixide* 	at pci? dev ? function ?	# Intel IDE controllers
pdcide* 	at pci? dev ? function ?	# Promise IDE 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

epic*		at pci? dev ? function ?	# SMC EPIC/100 Ethernet
ex*		at pci? dev ? function ?	# 3Com 90x[BC]
fxp*		at pci? dev ? function ?	# Intel EtherExpress PRO
ne*		at pci? dev ? function ?	# NE2000-compatible
pcn*		at pci? dev ? function ?	# AMD PCnet-PCI Ethernet
rtk*		at pci? dev ? function ?	# Realtek 8129/8139
sip*		at pci? dev ? function ?	# SiS 900/DP83815 Ethernet
tlp*		at pci? dev ? function ?	# DECchip 21x4x and clones

#### MII/PHY support

exphy*		at mii? phy ?		# 3Com internal PHYs
icsphy*		at mii? phy ?		# Integrated Circuit Systems ICS189x
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 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

# 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

pseudo-device 	crypto			# opencrypto framework

# disk/mass storage pseudo-devices
pseudo-device	ccd		4	# concatenated/striped disk devices
#pseudo-device	cgd		4	# cryptographic disk devices
pseudo-device	raid		8	# RAIDframe disk driver
# 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		1	# memory disk device (ramdisk)
pseudo-device	vnd		4	# disk-like interface to files

# network pseudo-devices
pseudo-device	bpfilter	8	# Berkeley packet filter
pseudo-device	ipfilter		# IP filter (firewall) and NAT
pseudo-device	loop		1	# network loopback
pseudo-device	ppp		2	# Point-to-Point Protocol
pseudo-device	pppoe			# PPP over Ethernet (RFC 2516)
pseudo-device	sl		2	# Serial Line IP
#pseudo-device	strip		2	# Starmode Radio IP (Metricom)
pseudo-device	tun		2	# network tunneling over tty
#pseudo-device	gre		2	# generic L3 over IP tunnel
pseudo-device	gif		4	# IPv[46] over IPv[46] tunnel (RFC1933)
#pseudo-device	faith		1	# IPv[46] tcp relay translation i/f
#pseudo-device	stf		1	# 6to4 IPv6 over IPv4 encapsulation
pseudo-device	vlan			# IEEE 802.1q encapsulation
pseudo-device	bridge			# simple inter-network bridging
#options	BRIDGE_IPF		# bridge uses IP/IPv6 pfil hooks too

# miscellaneous pseudo-devices
pseudo-device	pty			# pseudo-terminals
pseudo-device	tb		1	# tablet line discipline
#pseudo-device	sequencer	1	# MIDI sequencer
# rnd works; RND_COM does not on port arc yet.
pseudo-device	rnd			# /dev/random and in-kernel generator
#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		4	# coda minicache <-> venus comm.

# mouse & keyboard multiplexor pseudo-devices
#pseudo-device	wsmux
pseudo-device	ksyms			# /dev/ksyms
