PCCONS revision 1.7
11.7Ssoda#	$NetBSD: PCCONS,v 1.7 2001/06/13 15:37:27 soda Exp $
21.1Ssoda#	$OpenBSD: GENERIC,v 1.29 1999/08/29 12:14:03 niklas Exp $
31.1Ssoda#
41.1Ssoda#	PCCONS -- generic but pccons rather than wscons
51.1Ssoda#
61.1Ssoda
71.1Ssodainclude		"arch/arc/conf/std.arc"
81.1Ssoda
91.1Ssodamaxusers	32		# estimated number of users
101.1Ssoda
111.7Ssoda# Platform support
121.7Ssodaoptions 	PLATFORM_ACER_PICA_61		# Pica, NEC ImageRISCstation
131.7Ssodaoptions 	PLATFORM_DESKTECH_ARCSTATION_I	# DESKstation rPC44
141.7Ssodaoptions 	PLATFORM_DESKTECH_TYNE		# DESKstation Tyne
151.7Ssodaoptions 	PLATFORM_MICROSOFT_JAZZ		# MIPS Magnum
161.7Ssodaoptions 	PLATFORM_NEC_JC94		# NEC Express 5800/230 PCI R4K
171.7Ssodaoptions 	PLATFORM_NEC_R94		# NEC RISCstation 2200 EISA
181.7Ssodaoptions 	PLATFORM_NEC_R96      # NEC Express RISCserver, RISCserver 2200
191.7Ssodaoptions 	PLATFORM_NEC_RAX94		# NEC RISCstation 2200 PCI
201.7Ssodaoptions 	PLATFORM_NEC_RD94		# NEC RISCstation 2250
211.7Ssodaoptions 	PLATFORM_SNI_RM200PCI
221.7Ssoda
231.1Ssoda# Standard system options
241.1Ssoda
251.1Ssodaoptions 	RTC_OFFSET=0	# hardware clock is this many mins. west of GMT
261.1Ssodaoptions 	NTP		# NTP phase/frequency locked loop
271.1Ssoda
281.1Ssodaoptions 	KTRACE		# system call tracing via ktrace(1)
291.1Ssoda
301.1Ssodaoptions 	SYSVMSG		# System V-like message queues
311.1Ssodaoptions 	SYSVSEM		# System V-like semaphores
321.1Ssodaoptions 	SYSVSHM		# System V-like memory sharing
331.1Ssoda#options 	SHMMAXPGS=1024	# 1024 pages is the default
341.1Ssoda
351.1Ssodaoptions 	LKM		# loadable kernel modules
361.1Ssoda
371.1Ssoda# Diagnostic/debugging support options
381.1Ssodaoptions 	DIAGNOSTIC	# cheap kernel consistency checks
391.1Ssoda#options 	DEBUG		# expensive debugging checks/support
401.1Ssoda#options 	KMEMSTATS	# kernel memory statistics (vmstat -m)
411.1Ssodaoptions 	DDB		# in-kernel debugger
421.1Ssoda#options 	DDB_HISTORY_SIZE=100	# enable history editing in DDB
431.1Ssoda#options 	KGDB		# remote gdb
441.1Ssoda#options 	KGDBRATE=19200	# kernel gdb port rate (default 9600)
451.1Ssoda#options 	KGDBDEV="17*256+0"	# device for kernel gdb
461.1Ssoda#makeoptions	DEBUG="-g"	# compile full symbol table
471.1Ssoda
481.1Ssoda# Compatibility options
491.1Ssodaoptions 	COMPAT_10	# NetBSD 1.0,
501.1Ssodaoptions 	COMPAT_11	# NetBSD 1.1,
511.1Ssodaoptions 	COMPAT_12	# NetBSD 1.2,
521.1Ssodaoptions 	COMPAT_13	# NetBSD 1.3,
531.1Ssodaoptions 	COMPAT_14	# NetBSD 1.4,
541.1Ssodaoptions 	COMPAT_43	# and 4.3BSD
551.1Ssodaoptions 	COMPAT_386BSD_MBRPART # recognize old partition ID
561.1Ssoda
571.1Ssoda# mipsel specific
581.1Ssodaoptions 	COMPAT_ULTRIX	# Ultrix binary compatibility
591.1Ssodaoptions 	EXEC_ECOFF	# Ultrix RISC binaries are ECOFF format
601.1Ssoda
611.1Ssoda# File systems
621.1Ssodafile-system 	FFS		# fast filesystem
631.1Ssodafile-system 	EXT2FS		# second extended file system (linux)
641.1Ssodafile-system 	LFS		# log-structured file system
651.1Ssodafile-system 	MFS		# memory file system
661.1Ssodafile-system 	NTFS		# Windows/NT file system (experimental)
671.1Ssodafile-system 	CD9660		# ISO 9660 + Rock Ridge file system
681.1Ssodafile-system 	MSDOSFS		# MS-DOS file system
691.1Ssodafile-system 	NFS		# Network File System client
701.1Ssodafile-system 	FDESC		# /dev/fd
711.1Ssodafile-system 	KERNFS		# /kern
721.1Ssodafile-system 	NULLFS		# loopback file system
731.1Ssodafile-system 	OVERLAY		# overlay file system
741.1Ssodafile-system 	PORTAL		# portal filesystem (still experimental)
751.1Ssodafile-system 	PROCFS		# /proc
761.1Ssodafile-system 	UMAPFS		# NULLFS + uid and gid remapping
771.1Ssodafile-system 	UNION		# union file system
781.1Ssoda#file-system	CODA		# Coda File System; also needs vcoda (below)
791.1Ssoda
801.1Ssoda# File system options
811.1Ssodaoptions 	QUOTA		# FFS quotas
821.1Ssoda#options 	FFS_EI		# FFS Endian Independent support
831.6Ssodaoptions 	SOFTDEP		# FFS soft updates support.
841.1Ssodaoptions 	NFSSERVER	# Network File System server
851.1Ssoda#options 	EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and
861.1Ssoda				# immutable) behave as system flags.
871.1Ssoda
881.1Ssoda# Networking options
891.1Ssoda#options 	GATEWAY		# IP packet forwarding
901.1Ssodaoptions 	INET		# IP + ICMP + TCP + UDP
911.1Ssodaoptions 	INET6		# IPV6
921.1Ssoda#options 	IPSEC		# IP security
931.1Ssoda#options 	IPSEC_ESP	# IP security (encryption part; define w/IPSEC)
941.1Ssoda#options 	IPSEC_DEBUG	# debug for IP security
951.1Ssoda#options 	MROUTING	# IP multicast routing
961.1Ssodaoptions 	NS		# XNS
971.1Ssoda#options 	NSIP		# XNS tunneling over IP
981.1Ssodaoptions 	ISO,TPIP	# OSI networking
991.2Ssommerfe#options 	EON		# OSI tunneling over IP
1001.1Ssodaoptions 	CCITT,LLC,HDLC	# X.25
1011.1Ssodaoptions 	NETATALK	# AppleTalk networking protocols
1021.1Ssodaoptions 	PPP_BSDCOMP	# BSD-Compress compression support for PPP
1031.1Ssodaoptions 	PPP_DEFLATE	# Deflate compression support for PPP
1041.1Ssodaoptions 	PPP_FILTER	# Active filter support for PPP (requires bpf)
1051.1Ssodaoptions 	PFIL_HOOKS	# pfil(9) packet filter hooks
1061.1Ssodaoptions 	IPFILTER_LOG	# ipmon(8) log support
1071.1Ssoda
1081.1Ssoda# Compatibility with 4.2BSD implementation of TCP/IP.  Not recommended.
1091.1Ssoda#options 	TCP_COMPAT_42
1101.1Ssoda
1111.1Ssoda# These options enable verbose messages for several subsystems.
1121.1Ssoda# Warning, these may compile large string tables into the kernel!
1131.1Ssoda#options 	EISAVERBOSE	# verbose EISA device autoconfig messages
1141.1Ssodaoptions 	PCIVERBOSE	# verbose PCI device autoconfig messages
1151.1Ssoda#options 	PCI_CONFIG_DUMP	# verbosely dump PCI config space
1161.1Ssodaoptions 	SCSIVERBOSE	# human readable SCSI error messages
1171.3Sur
1181.3Sur# wscons terminal emulation
1191.3Suroptions 	WSEMUL_VT100	# VT100 emulation
1201.1Ssoda
1211.1Ssoda# Kernel root file system and dump configuration.
1221.1Ssodaoptions 	NFS_BOOT_DHCP,NFS_BOOT_BOOTPARAM
1231.1Ssodaconfig		netbsd	root on ? type ?
1241.1Ssoda#config		netbsd	root on sd0a type ffs
1251.1Ssoda#config		netbsd	root on ? type nfs
1261.1Ssoda
1271.1Ssoda#
1281.1Ssoda# Device configuration
1291.1Ssoda#
1301.1Ssoda
1311.1Ssodamainbus0	at root
1321.1Ssodacpu*		at mainbus0
1331.1Ssoda
1341.5Sur#### Jazz-Internal bus devices
1351.1Ssoda
1361.7Ssoda# PLATFORM_ACER_PICA_61
1371.7Ssoda# PLATFORM_MICROSOFT_JAZZ
1381.7Ssoda# PLATFORM_NEC_JC94
1391.7Ssoda# PLATFORM_NEC_R94
1401.7Ssoda# PLATFORM_NEC_R96
1411.7Ssoda# PLATFORM_NEC_RAX94
1421.7Ssoda# PLATFORM_NEC_RD94
1431.7Ssodajazzio*		at mainbus0	# Jazz-Internal bus host bridge.
1441.7Ssoda
1451.7Ssodatimer0		at jazzio?
1461.7Ssodamcclock0 	at jazzio?
1471.5Surpc0		at jazzio?
1481.5Suropms0		at jazzio?
1491.5Surcom0		at jazzio?
1501.5Surcom1		at jazzio?
1511.5Surlpt0		at jazzio?
1521.5Sursn0		at jazzio?
1531.1Ssoda
1541.5Surfdc0		at jazzio?
1551.1Ssodafd*		at fdc? drive ?
1561.1Ssoda
1571.6Ssodaasc0		at jazzio?			# NCR53C9x SCSI
1581.1Ssodascsibus* 	at asc?
1591.1Ssoda
1601.6Ssodaosiop0		at jazzio? flags 0x00000	# NCR53C710 SCSI
1611.6Ssodaosiop1		at jazzio? flags 0x00000
1621.6Ssodascsibus* 	at osiop?
1631.6Ssoda
1641.6Ssoda#oosiop0 	at jazzio?			# NCR53C700 SCSI
1651.6Ssoda#oosiop1 	at jazzio?
1661.6Ssoda#scsibus* 	at oosiop?
1671.1Ssoda
1681.1Ssoda#### ISA bus devices
1691.1Ssoda
1701.7Ssoda# PLATFORM_ACER_PICA_61
1711.7Ssoda# PLATFORM_MICROSOFT_JAZZ
1721.7Ssoda# PLATFORM_NEC_R94
1731.7Ssoda# PLATFORM_NEC_R96
1741.7Ssodajazzisabr*	at mainbus0	# Jazz-(E)ISA bus bridge.
1751.7Ssodaisa*		at jazzisabr?
1761.7Ssoda
1771.7Ssoda# PLATFORM_DESKTECH_ARCSTATION_I
1781.7Ssodaarcsisabr*	at mainbus0	# DESKstation rPC44 ISA host bridge.
1791.7Ssodaisa*		at arcsisabr?
1801.7Ssoda
1811.7Ssoda# PLATFORM_DESKTECH_TYNE
1821.7Ssodatyneisabr*	at mainbus0	# DESKstation Tyne ISA host bridge.
1831.7Ssodaisa*		at tyneisabr?
1841.7Ssoda
1851.1Ssoda#isadma0 	at isa?
1861.1Ssoda
1871.7Ssodatimer0		at isa? port 0x40 irq 0
1881.7Ssodamcclock0 	at isa? port 0x70
1891.1Ssoda
1901.7Ssodapc0		at isa? irq 1			# generic PC console device
1911.7Ssodaopms0		at isa? irq 12			# PS/2 auxiliary port mouse
1921.6Ssoda#vga0		at isa?
1931.6Ssoda#pckbc0		at isa?				# PC keyboard controller
1941.1Ssodacom0		at isa? port 0x3f8 irq 4
1951.1Ssodacom1		at isa? port 0x2f8 irq 3
1961.1Ssodacom2		at isa? port 0x3e8 irq 4
1971.1Ssodacom3		at isa? port 0x2e8 irq 3
1981.1Ssodaast0		at isa? port 0x1a0 irq 3	# AST 4-port serial cards
1991.1Ssodacom*		at ast? slave ?
2001.1Ssoda
2011.1Ssoda# Joystick driver. Probe is a little strange; add only if you have one.
2021.1Ssoda#joy0		at isa? port 0x201
2031.1Ssoda
2041.1Ssoda# ISA ST506, ESDI, and IDE controllers
2051.1Ssoda# Use flags 0x01 if you want to try to use 32bits data I/O (the driver will
2061.1Ssoda# fall back to 16bits I/O if 32bits I/O are not functional).
2071.1Ssoda# Some controllers pass the initial 32bit test, but will fail later.
2081.1Ssoda# XXX - should be configured
2091.1Ssoda#wdc0		at isa? port 0x1f0 irq 14 flags 0x00
2101.1Ssoda#wdc1		at isa? port 0x170 irq 15 flags 0x00
2111.1Ssoda#wdc*		at isapnp?
2121.1Ssoda
2131.1Ssoda# IDE drives
2141.1Ssoda# Flags are used only with controllers that support DMA operations
2151.1Ssoda# and mode settings (e.g. some pciide controllers)
2161.1Ssoda# The lowest order four bits (rightmost digit) of the flags define the PIO
2171.1Ssoda# mode to use, the next set of four bits the DMA mode and the third set the
2181.1Ssoda# UltraDMA mode. For each set of four bits, the 3 lower bits define the mode
2191.1Ssoda# to use, and the last bit must be 1 for this setting to be used.
2201.1Ssoda# For DMA and UDMA, 0xf (1111) means 'disable'.
2211.1Ssoda# 0x0fac means 'use PIO mode 4, DMA mode 2, disable UltraDMA'.
2221.1Ssoda# (0xc=1100, 0xa=1010, 0xf=1111)
2231.1Ssoda# 0x0000 means "use whatever the drive claims to support".
2241.1Ssoda# XXX - should be configured
2251.1Ssoda#wd*		at wdc? channel ? drive ? flags 0x0000
2261.1Ssoda
2271.1Ssoda# ATAPI bus support
2281.1Ssoda# XXX - should be configured
2291.1Ssoda#atapibus*	at wdc? channel ?
2301.1Ssoda
2311.1Ssoda# ISA parallel printer interfaces
2321.1Ssodalpt0		at isa? port 0x378 irq 7
2331.1Ssoda
2341.1Ssoda# ISA network interfaces
2351.1Ssoda# XXX - should be configured
2361.1Ssoda#ec0		at isa? port 0x250 iomem 0xd8000 irq 9	# 3Com 3c503 Ethernet
2371.1Ssoda#ep0		at isa? port ? irq ?		# 3C509 ethernet cards
2381.1Ssoda#ne0		at isa? port 0x280 irq 9	# NE[12]000 ethernet cards
2391.1Ssoda#ne1		at isa? port 0x300 irq 10
2401.1Ssoda#ne*		at isapnp?			# NE[12]000 PnP ethernet
2411.1Ssoda#we0		at isa? port 0x280 iomem 0xd0000 irq 9	# WD/SMC Ethernet
2421.1Ssoda#we1		at isa? port 0x300 iomem 0xcc000 irq 10
2431.1Ssoda#we*		at isapnp?
2441.1Ssoda
2451.1Ssoda# XXX - should be configured
2461.1Ssoda#btl0		at isa? port 0x330 irq ? drq ?
2471.1Ssoda#scsibus*	at btl?
2481.1Ssoda
2491.1Ssoda#### PCI bus devices
2501.1Ssoda
2511.7Ssoda# PLATFORM_NEC_JC94
2521.7Ssoda# PLATFORM_NEC_RAX94
2531.7Ssoda# PLATFORM_NEC_RD94
2541.1Ssodanecpb*		at mainbus0	# NEC RISCstation PCI host bridge.
2551.1Ssodapci*		at necpb?
2561.1Ssoda
2571.7Ssoda#pcivga* 	at pci? dev ? function ?
2581.7Ssodatga*		at pci? dev ? function ?	# DEC ZLXp-E[123] Graphics
2591.1Ssoda
2601.7Ssodaahc*		at pci? dev ? function ?	# Adaptec [23]94x, aic78x0 SCSI
2611.7Ssodascsibus*	at ahc?
2621.7Ssoda
2631.7Ssodaiha*		at pci? dev ? function ?	# Initio INIC-940/950 SCSI
2641.7Ssodascsibus*	at iha?
2651.7Ssoda
2661.7Ssoda#siop*		at pci? dev ? function ?	# NCR/Symbios 53c8xx SCSI
2671.1Ssoda#scsibus* 	at siop?
2681.7Ssoda
2691.1Ssoda#de*		at pci? dev ? function ?
2701.1Ssodaex*		at pci? dev ? function ?	# 3Com 90x[B]
2711.1Ssodafxp*		at pci? dev ? function ?	# Intel EtherExpress PRO
2721.1Ssodale*		at pci? dev ? function ?	# PCnet-PCI
2731.1Ssodane*		at pci? dev ? function ?	# NE2000-compatible
2741.1Ssodatlp*		at pci? dev ? function ?	# DECchip 21x4x (and clones)
2751.1Ssoda#options 	TLP_MATCH_21040
2761.1Ssoda#options 	TLP_MATCH_21041
2771.1Ssoda#options 	TLP_MATCH_21140
2781.1Ssoda#options 	TLP_MATCH_21142
2791.1Ssoda
2801.1Ssoda# IDE and related devices
2811.1Ssoda# PCI IDE controllers - see pciide(4) for supported hardware.
2821.1Ssoda# The 0x0001 flag force the driver to use DMA, even if the driver doesn't know
2831.1Ssoda# how to set up DMA modes for this chip. This may work, or may cause
2841.1Ssoda# a machine hang with some controllers.
2851.1Ssodapciide*		at pci ? dev ? function ? flags 0x0000
2861.1Ssodawd*		at pciide? channel ? drive ? flags 0x0000
2871.1Ssodaatapibus*	at pciide? channel ?
2881.1Ssoda
2891.1Ssoda#### MII/PHY support
2901.1Ssoda
2911.1Ssodaexphy*		at mii? phy ?		# 3Com internal PHYs
2921.1Ssodaicsphy*		at mii? phy ?		# Integrated Circuit Systems ICS1890
2931.1Ssodainphy*		at mii? phy ?		# Intel 82555 PHYs
2941.1Ssodaiophy*		at mii? phy ?		# Intel 82553 PHYs
2951.1Ssodalxtphy*		at mii? phy ?		# Level One LXT-970 PHYs
2961.1Ssodansphy*		at mii? phy ?		# NS83840 PHYs
2971.1Ssodansphyter*	at mii? phy ?		# NS83843 PHYs
2981.1Ssodaqsphy*		at mii? phy ?		# Quality Semiconductor QS6612 PHYs
2991.1Ssodasqphy*		at mii? phy ?		# Seeq 80220/80221/80223 PHYs
3001.1Ssodatlphy*		at mii? phy ?		# ThunderLAN PHYs
3011.1Ssodatqphy*		at mii? phy ?		# TDK Semiconductor PHYs
3021.1Ssodaukphy*		at mii? phy ?		# generic unknown PHYs
3031.1Ssoda
3041.1Ssoda#### SCSI bus devices
3051.1Ssoda
3061.1Ssodasd*		at scsibus? target ? lun ?
3071.1Ssodast*		at scsibus? target ? lun ?
3081.1Ssodacd*		at scsibus? target ? lun ?
3091.1Ssodach*		at scsibus? target ? lun ?
3101.1Ssodass*		at scsibus? target ? lun ?
3111.1Ssodauk*		at scsibus? target ? lun ?
3121.1Ssoda
3131.1Ssoda#### ATAPI bus devices
3141.1Ssoda
3151.1Ssoda# flags have the same meaning as for IDE drives.
3161.1Ssodacd*		at atapibus? drive ? flags 0x0000	# ATAPI CD-ROM drives
3171.1Ssodasd*		at atapibus? drive ? flags 0x0000	# ATAPI disk drives
3181.1Ssodauk*		at atapibus? drive ? flags 0x0000	# ATAPI unknown
3191.1Ssoda
3201.6Ssoda#### Workstation Console attachments
3211.6Ssoda
3221.6Ssodawsdisplay*	at tga?
3231.6Ssoda
3241.1Ssoda#### Pseudo devices
3251.1Ssoda
3261.1Ssoda# disk/mass storage pseudo-devices
3271.1Ssodapseudo-device	ccd		4	# concatenated/striped disk devices
3281.1Ssoda#pseudo-device	raid		4	# RAIDframe disk driver
3291.1Ssodapseudo-device	md		1	# memory disk device (ramdisk)
3301.1Ssodapseudo-device	vnd		4	# disk-like interface to files
3311.1Ssoda
3321.1Ssoda# network pseudo-devices
3331.1Ssodapseudo-device	bpfilter	8	# Berkeley packet filter
3341.1Ssodapseudo-device	ipfilter		# IP filter (firewall) and NAT
3351.1Ssodapseudo-device	loop		1	# network loopback
3361.1Ssodapseudo-device	ppp		2	# Point-to-Point Protocol
3371.1Ssodapseudo-device	sl		2	# Serial Line IP
3381.1Ssoda#pseudo-device	strip		2	# Starmode Radio IP (Metricom)
3391.1Ssodapseudo-device	tun		2	# network tunneling over tty
3401.1Ssoda#pseudo-device	gre		2	# generic L3 over IP tunnel
3411.1Ssodapseudo-device	ipip		2	# IP Encapsulation within IP (RFC 2003)
3421.1Ssodapseudo-device	gif		4	# IPv[46] over IPv[46] tunnel (RFC1933)
3431.1Ssoda#pseudo-device	faith		1	# IPv[46] tcp relay translation i/f
3441.1Ssoda#pseudo-device	stf		1	# 6to4 IPv6 over IPv4 encapsulation
3451.6Ssodapseudo-device	vlan			# IEEE 802.1q encapsulation
3461.1Ssoda
3471.1Ssoda# miscellaneous pseudo-devices
3481.4Sjdolecekpseudo-device	pty			# pseudo-terminals
3491.1Ssodapseudo-device	tb		1	# tablet line discipline
3501.1Ssoda#pseudo-device	sequencer	1	# MIDI sequencer
3511.1Ssoda# rnd works; RND_COM does not on port arc yet.
3521.1Ssodapseudo-device	rnd			# /dev/random and in-kernel generator
3531.1Ssoda#options 	RND_COM			# use "com" randomness as well (BROKEN)
3541.1Ssoda
3551.1Ssoda# a pseudo device needed for Coda	# also needs CODA (above)
3561.1Ssoda#pseudo-device	vcoda		4	# coda minicache <-> venus comm.
3571.1Ssoda
3581.1Ssoda# mouse & keyboard multiplexor pseudo-devices
3591.1Ssoda#pseudo-device	wsmux		2
360