PCCONS revision 1.21
11.21Satatat#	$NetBSD: PCCONS,v 1.21 2002/04/25 15:06:23 atatat 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.21Satatat
91.21Satatat#options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
101.1Ssoda
111.1Ssodamaxusers	32		# estimated number of users
121.1Ssoda
131.7Ssoda# Platform support
141.7Ssodaoptions 	PLATFORM_ACER_PICA_61		# Pica, NEC ImageRISCstation
151.7Ssodaoptions 	PLATFORM_DESKTECH_ARCSTATION_I	# DESKstation rPC44
161.7Ssodaoptions 	PLATFORM_DESKTECH_TYNE		# DESKstation Tyne
171.7Ssodaoptions 	PLATFORM_MICROSOFT_JAZZ		# MIPS Magnum
181.7Ssodaoptions 	PLATFORM_NEC_JC94		# NEC Express 5800/230 PCI R4K
191.7Ssodaoptions 	PLATFORM_NEC_R94		# NEC RISCstation 2200 EISA
201.15Slukemoptions 	PLATFORM_NEC_R96	# NEC Express RISCserver, RISCserver 2200
211.7Ssodaoptions 	PLATFORM_NEC_RAX94		# NEC RISCstation 2200 PCI
221.7Ssodaoptions 	PLATFORM_NEC_RD94		# NEC RISCstation 2250
231.7Ssodaoptions 	PLATFORM_SNI_RM200PCI
241.7Ssoda
251.1Ssoda# Standard system options
261.1Ssoda
271.1Ssodaoptions 	RTC_OFFSET=0	# hardware clock is this many mins. west of GMT
281.1Ssodaoptions 	NTP		# NTP phase/frequency locked loop
291.1Ssoda
301.1Ssodaoptions 	KTRACE		# system call tracing via ktrace(1)
311.1Ssoda
321.1Ssodaoptions 	SYSVMSG		# System V-like message queues
331.1Ssodaoptions 	SYSVSEM		# System V-like semaphores
341.1Ssodaoptions 	SYSVSHM		# System V-like memory sharing
351.1Ssoda#options 	SHMMAXPGS=1024	# 1024 pages is the default
361.1Ssoda
371.1Ssodaoptions 	LKM		# loadable kernel modules
381.16Sjdolecek
391.19Sgmcgarry#options 	USERCONF	# userconf(4) support
401.16Sjdolecek#options	PIPE_SOCKETPAIR	# smaller, but slower pipe(2)
411.1Ssoda
421.1Ssoda# Diagnostic/debugging support options
431.14Slukemoptions 	DIAGNOSTIC		# cheap kernel consistency checks
441.14Slukem#options 	DEBUG			# expensive debugging checks/support
451.14Slukem#options 	KMEMSTATS		# kernel memory statistics (vmstat -m)
461.14Slukemoptions 	DDB			# in-kernel debugger
471.1Ssoda#options 	DDB_HISTORY_SIZE=100	# enable history editing in DDB
481.14Slukem#options 	KGDB			# remote gdb
491.14Slukem#options 	KGDB_DEVRATE=19200	# kernel gdb port rate (default 9600)
501.14Slukem#options 	KGDB_DEV="17*256+0"	# device for kernel gdb
511.14Slukem#makeoptions	DEBUG="-g"		# compile full symbol table
521.1Ssoda
531.1Ssoda# Compatibility options
541.8Sabs#options 	TCP_COMPAT_42	# 4.2BSD TCP/IP bug compat. Not recommended.
551.1Ssodaoptions 	COMPAT_10	# NetBSD 1.0,
561.1Ssodaoptions 	COMPAT_11	# NetBSD 1.1,
571.1Ssodaoptions 	COMPAT_12	# NetBSD 1.2,
581.1Ssodaoptions 	COMPAT_13	# NetBSD 1.3,
591.1Ssodaoptions 	COMPAT_14	# NetBSD 1.4,
601.1Ssodaoptions 	COMPAT_43	# and 4.3BSD
611.1Ssodaoptions 	COMPAT_386BSD_MBRPART # recognize old partition ID
621.1Ssoda
631.1Ssoda# mipsel specific
641.1Ssodaoptions 	COMPAT_ULTRIX	# Ultrix binary compatibility
651.1Ssodaoptions 	EXEC_ECOFF	# Ultrix RISC binaries are ECOFF format
661.1Ssoda
671.1Ssoda# File systems
681.1Ssodafile-system 	FFS		# fast filesystem
691.1Ssodafile-system 	EXT2FS		# second extended file system (linux)
701.1Ssodafile-system 	LFS		# log-structured file system
711.1Ssodafile-system 	MFS		# memory file system
721.1Ssodafile-system 	NTFS		# Windows/NT file system (experimental)
731.1Ssodafile-system 	CD9660		# ISO 9660 + Rock Ridge file system
741.1Ssodafile-system 	MSDOSFS		# MS-DOS file system
751.1Ssodafile-system 	NFS		# Network File System client
761.1Ssodafile-system 	FDESC		# /dev/fd
771.1Ssodafile-system 	KERNFS		# /kern
781.1Ssodafile-system 	NULLFS		# loopback file system
791.1Ssodafile-system 	OVERLAY		# overlay file system
801.1Ssodafile-system 	PORTAL		# portal filesystem (still experimental)
811.1Ssodafile-system 	PROCFS		# /proc
821.1Ssodafile-system 	UMAPFS		# NULLFS + uid and gid remapping
831.1Ssodafile-system 	UNION		# union file system
841.1Ssoda#file-system	CODA		# Coda File System; also needs vcoda (below)
851.1Ssoda
861.1Ssoda# File system options
871.1Ssodaoptions 	QUOTA		# FFS quotas
881.1Ssoda#options 	FFS_EI		# FFS Endian Independent support
891.6Ssodaoptions 	SOFTDEP		# FFS soft updates support.
901.1Ssodaoptions 	NFSSERVER	# Network File System server
911.1Ssoda#options 	EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and
921.1Ssoda				# immutable) behave as system flags.
931.1Ssoda
941.1Ssoda# Networking options
951.1Ssoda#options 	GATEWAY		# IP packet forwarding
961.1Ssodaoptions 	INET		# IP + ICMP + TCP + UDP
971.1Ssodaoptions 	INET6		# IPV6
981.1Ssoda#options 	IPSEC		# IP security
991.1Ssoda#options 	IPSEC_ESP	# IP security (encryption part; define w/IPSEC)
1001.1Ssoda#options 	IPSEC_DEBUG	# debug for IP security
1011.1Ssoda#options 	MROUTING	# IP multicast routing
1021.1Ssodaoptions 	NS		# XNS
1031.1Ssoda#options 	NSIP		# XNS tunneling over IP
1041.1Ssodaoptions 	ISO,TPIP	# OSI networking
1051.2Ssommerfe#options 	EON		# OSI tunneling over IP
1061.1Ssodaoptions 	CCITT,LLC,HDLC	# X.25
1071.1Ssodaoptions 	NETATALK	# AppleTalk networking protocols
1081.1Ssodaoptions 	PPP_BSDCOMP	# BSD-Compress compression support for PPP
1091.1Ssodaoptions 	PPP_DEFLATE	# Deflate compression support for PPP
1101.1Ssodaoptions 	PPP_FILTER	# Active filter support for PPP (requires bpf)
1111.1Ssodaoptions 	PFIL_HOOKS	# pfil(9) packet filter hooks
1121.1Ssodaoptions 	IPFILTER_LOG	# ipmon(8) log support
1131.8Sabs#options 	TCP_DEBUG	# Record last TCP_NDEBUG packets with SO_DEBUG
1141.1Ssoda
1151.1Ssoda# These options enable verbose messages for several subsystems.
1161.1Ssoda# Warning, these may compile large string tables into the kernel!
1171.1Ssoda#options 	EISAVERBOSE	# verbose EISA device autoconfig messages
1181.1Ssodaoptions 	PCIVERBOSE	# verbose PCI device autoconfig messages
1191.1Ssoda#options 	PCI_CONFIG_DUMP	# verbosely dump PCI config space
1201.1Ssodaoptions 	SCSIVERBOSE	# human readable SCSI error messages
1211.3Sur
1221.3Sur# wscons terminal emulation
1231.3Suroptions 	WSEMUL_VT100	# VT100 emulation
1241.1Ssoda
1251.1Ssoda# Kernel root file system and dump configuration.
1261.1Ssodaoptions 	NFS_BOOT_DHCP,NFS_BOOT_BOOTPARAM
1271.1Ssodaconfig		netbsd	root on ? type ?
1281.1Ssoda#config		netbsd	root on sd0a type ffs
1291.1Ssoda#config		netbsd	root on ? type nfs
1301.1Ssoda
1311.1Ssoda#
1321.1Ssoda# Device configuration
1331.1Ssoda#
1341.1Ssoda
1351.1Ssodamainbus0	at root
1361.1Ssodacpu*		at mainbus0
1371.1Ssoda
1381.5Sur#### Jazz-Internal bus devices
1391.1Ssoda
1401.7Ssoda# PLATFORM_ACER_PICA_61
1411.7Ssoda# PLATFORM_MICROSOFT_JAZZ
1421.7Ssoda# PLATFORM_NEC_JC94
1431.7Ssoda# PLATFORM_NEC_R94
1441.7Ssoda# PLATFORM_NEC_R96
1451.7Ssoda# PLATFORM_NEC_RAX94
1461.7Ssoda# PLATFORM_NEC_RD94
1471.7Ssodajazzio*		at mainbus0	# Jazz-Internal bus host bridge.
1481.7Ssoda
1491.7Ssodatimer0		at jazzio?
1501.7Ssodamcclock0 	at jazzio?
1511.5Surpc0		at jazzio?
1521.5Suropms0		at jazzio?
1531.5Surcom0		at jazzio?
1541.5Surcom1		at jazzio?
1551.5Surlpt0		at jazzio?
1561.5Sursn0		at jazzio?
1571.1Ssoda
1581.5Surfdc0		at jazzio?
1591.1Ssodafd*		at fdc? drive ?
1601.1Ssoda
1611.6Ssodaasc0		at jazzio?			# NCR53C9x SCSI
1621.1Ssodascsibus* 	at asc?
1631.1Ssoda
1641.6Ssodaosiop0		at jazzio? flags 0x00000	# NCR53C710 SCSI
1651.6Ssodaosiop1		at jazzio? flags 0x00000
1661.6Ssodascsibus* 	at osiop?
1671.6Ssoda
1681.6Ssoda#oosiop0 	at jazzio?			# NCR53C700 SCSI
1691.6Ssoda#oosiop1 	at jazzio?
1701.6Ssoda#scsibus* 	at oosiop?
1711.1Ssoda
1721.1Ssoda#### ISA bus devices
1731.1Ssoda
1741.7Ssoda# PLATFORM_ACER_PICA_61
1751.7Ssoda# PLATFORM_MICROSOFT_JAZZ
1761.7Ssoda# PLATFORM_NEC_R94
1771.7Ssoda# PLATFORM_NEC_R96
1781.7Ssodajazzisabr*	at mainbus0	# Jazz-(E)ISA bus bridge.
1791.7Ssodaisa*		at jazzisabr?
1801.7Ssoda
1811.7Ssoda# PLATFORM_DESKTECH_ARCSTATION_I
1821.7Ssodaarcsisabr*	at mainbus0	# DESKstation rPC44 ISA host bridge.
1831.7Ssodaisa*		at arcsisabr?
1841.7Ssoda
1851.7Ssoda# PLATFORM_DESKTECH_TYNE
1861.7Ssodatyneisabr*	at mainbus0	# DESKstation Tyne ISA host bridge.
1871.7Ssodaisa*		at tyneisabr?
1881.7Ssoda
1891.1Ssoda#isadma0 	at isa?
1901.1Ssoda
1911.7Ssodatimer0		at isa? port 0x40 irq 0
1921.7Ssodamcclock0 	at isa? port 0x70
1931.1Ssoda
1941.7Ssodapc0		at isa? irq 1			# generic PC console device
1951.7Ssodaopms0		at isa? irq 12			# PS/2 auxiliary port mouse
1961.6Ssoda#vga0		at isa?
1971.6Ssoda#pckbc0		at isa?				# PC keyboard controller
1981.1Ssodacom0		at isa? port 0x3f8 irq 4
1991.1Ssodacom1		at isa? port 0x2f8 irq 3
2001.1Ssodacom2		at isa? port 0x3e8 irq 4
2011.1Ssodacom3		at isa? port 0x2e8 irq 3
2021.1Ssodaast0		at isa? port 0x1a0 irq 3	# AST 4-port serial cards
2031.1Ssodacom*		at ast? slave ?
2041.1Ssoda
2051.1Ssoda# Joystick driver. Probe is a little strange; add only if you have one.
2061.1Ssoda#joy0		at isa? port 0x201
2071.1Ssoda
2081.1Ssoda# ISA ST506, ESDI, and IDE controllers
2091.1Ssoda# Use flags 0x01 if you want to try to use 32bits data I/O (the driver will
2101.1Ssoda# fall back to 16bits I/O if 32bits I/O are not functional).
2111.1Ssoda# Some controllers pass the initial 32bit test, but will fail later.
2121.1Ssoda# XXX - should be configured
2131.1Ssoda#wdc0		at isa? port 0x1f0 irq 14 flags 0x00
2141.1Ssoda#wdc1		at isa? port 0x170 irq 15 flags 0x00
2151.1Ssoda#wdc*		at isapnp?
2161.1Ssoda
2171.1Ssoda# IDE drives
2181.1Ssoda# Flags are used only with controllers that support DMA operations
2191.1Ssoda# and mode settings (e.g. some pciide controllers)
2201.1Ssoda# The lowest order four bits (rightmost digit) of the flags define the PIO
2211.1Ssoda# mode to use, the next set of four bits the DMA mode and the third set the
2221.1Ssoda# UltraDMA mode. For each set of four bits, the 3 lower bits define the mode
2231.1Ssoda# to use, and the last bit must be 1 for this setting to be used.
2241.1Ssoda# For DMA and UDMA, 0xf (1111) means 'disable'.
2251.1Ssoda# 0x0fac means 'use PIO mode 4, DMA mode 2, disable UltraDMA'.
2261.1Ssoda# (0xc=1100, 0xa=1010, 0xf=1111)
2271.1Ssoda# 0x0000 means "use whatever the drive claims to support".
2281.1Ssoda# XXX - should be configured
2291.1Ssoda#wd*		at wdc? channel ? drive ? flags 0x0000
2301.1Ssoda
2311.1Ssoda# ATAPI bus support
2321.1Ssoda# XXX - should be configured
2331.1Ssoda#atapibus*	at wdc? channel ?
2341.1Ssoda
2351.1Ssoda# ISA parallel printer interfaces
2361.1Ssodalpt0		at isa? port 0x378 irq 7
2371.1Ssoda
2381.1Ssoda# ISA network interfaces
2391.1Ssoda# XXX - should be configured
2401.1Ssoda#ec0		at isa? port 0x250 iomem 0xd8000 irq 9	# 3Com 3c503 Ethernet
2411.1Ssoda#ep0		at isa? port ? irq ?		# 3C509 ethernet cards
2421.1Ssoda#ne0		at isa? port 0x280 irq 9	# NE[12]000 ethernet cards
2431.1Ssoda#ne1		at isa? port 0x300 irq 10
2441.1Ssoda#ne*		at isapnp?			# NE[12]000 PnP ethernet
2451.1Ssoda#we0		at isa? port 0x280 iomem 0xd0000 irq 9	# WD/SMC Ethernet
2461.1Ssoda#we1		at isa? port 0x300 iomem 0xcc000 irq 10
2471.1Ssoda#we*		at isapnp?
2481.1Ssoda
2491.1Ssoda# XXX - should be configured
2501.1Ssoda#btl0		at isa? port 0x330 irq ? drq ?
2511.1Ssoda#scsibus*	at btl?
2521.1Ssoda
2531.1Ssoda#### PCI bus devices
2541.1Ssoda
2551.7Ssoda# PLATFORM_NEC_JC94
2561.7Ssoda# PLATFORM_NEC_RAX94
2571.7Ssoda# PLATFORM_NEC_RD94
2581.1Ssodanecpb*		at mainbus0	# NEC RISCstation PCI host bridge.
2591.1Ssodapci*		at necpb?
2601.1Ssoda
2611.7Ssoda#pcivga* 	at pci? dev ? function ?
2621.7Ssodatga*		at pci? dev ? function ?	# DEC ZLXp-E[123] Graphics
2631.1Ssoda
2641.7Ssodaahc*		at pci? dev ? function ?	# Adaptec [23]94x, aic78x0 SCSI
2651.7Ssodascsibus*	at ahc?
2661.7Ssoda
2671.7Ssodaiha*		at pci? dev ? function ?	# Initio INIC-940/950 SCSI
2681.7Ssodascsibus*	at iha?
2691.7Ssoda
2701.11Stsutsuipcscp*		at pci? dev ? function ?	# AMD Am53c974 PCscsi-PCI SCSI
2711.11Stsutsuiscsibus* 	at pcscp?
2721.11Stsutsui
2731.10Stsutsuisiop*		at pci? dev ? function ?	# NCR/Symbios 53c8xx SCSI
2741.10Stsutsuiscsibus* 	at siop?
2751.12Stsutsui
2761.12Stsutsuitrm*		at pci? dev ? function ?	# Tekram DC-395/315 SCSI
2771.12Stsutsuiscsibus* 	at trm?
2781.7Ssoda
2791.11Stsutsuiepic*		at pci? dev ? function ?	# SMC EPIC/100 Ethernet
2801.9Shubertfex*		at pci? dev ? function ?	# 3Com 90x[BC]
2811.1Ssodafxp*		at pci? dev ? function ?	# Intel EtherExpress PRO
2821.1Ssodane*		at pci? dev ? function ?	# NE2000-compatible
2831.11Stsutsuipcn*		at pci? dev ? function ?	# AMD PCnet-PCI Ethernet
2841.11Stsutsuirtk*		at pci? dev ? function ?	# Realtek 8129/8139
2851.11Stsutsuisip*		at pci? dev ? function ?	# SiS 900/DP83815 Ethernet
2861.20Smycrofttlp*		at pci? dev ? function ?	# DECchip 21x4x and clones
2871.1Ssoda
2881.1Ssoda# IDE and related devices
2891.1Ssoda# PCI IDE controllers - see pciide(4) for supported hardware.
2901.1Ssoda# The 0x0001 flag force the driver to use DMA, even if the driver doesn't know
2911.1Ssoda# how to set up DMA modes for this chip. This may work, or may cause
2921.1Ssoda# a machine hang with some controllers.
2931.1Ssodapciide*		at pci ? dev ? function ? flags 0x0000
2941.1Ssodawd*		at pciide? channel ? drive ? flags 0x0000
2951.1Ssodaatapibus*	at pciide? channel ?
2961.1Ssoda
2971.1Ssoda#### MII/PHY support
2981.1Ssoda
2991.1Ssodaexphy*		at mii? phy ?		# 3Com internal PHYs
3001.17Swizicsphy*		at mii? phy ?		# Integrated Circuit Systems ICS189x
3011.1Ssodainphy*		at mii? phy ?		# Intel 82555 PHYs
3021.1Ssodaiophy*		at mii? phy ?		# Intel 82553 PHYs
3031.1Ssodalxtphy*		at mii? phy ?		# Level One LXT-970 PHYs
3041.1Ssodansphy*		at mii? phy ?		# NS83840 PHYs
3051.1Ssodansphyter*	at mii? phy ?		# NS83843 PHYs
3061.1Ssodaqsphy*		at mii? phy ?		# Quality Semiconductor QS6612 PHYs
3071.1Ssodasqphy*		at mii? phy ?		# Seeq 80220/80221/80223 PHYs
3081.1Ssodatlphy*		at mii? phy ?		# ThunderLAN PHYs
3091.1Ssodatqphy*		at mii? phy ?		# TDK Semiconductor PHYs
3101.1Ssodaukphy*		at mii? phy ?		# generic unknown PHYs
3111.1Ssoda
3121.1Ssoda#### SCSI bus devices
3131.1Ssoda
3141.1Ssodasd*		at scsibus? target ? lun ?
3151.1Ssodast*		at scsibus? target ? lun ?
3161.1Ssodacd*		at scsibus? target ? lun ?
3171.1Ssodach*		at scsibus? target ? lun ?
3181.1Ssodass*		at scsibus? target ? lun ?
3191.1Ssodauk*		at scsibus? target ? lun ?
3201.1Ssoda
3211.1Ssoda#### ATAPI bus devices
3221.1Ssoda
3231.1Ssoda# flags have the same meaning as for IDE drives.
3241.1Ssodacd*		at atapibus? drive ? flags 0x0000	# ATAPI CD-ROM drives
3251.1Ssodasd*		at atapibus? drive ? flags 0x0000	# ATAPI disk drives
3261.1Ssodauk*		at atapibus? drive ? flags 0x0000	# ATAPI unknown
3271.1Ssoda
3281.6Ssoda#### Workstation Console attachments
3291.6Ssoda
3301.6Ssodawsdisplay*	at tga?
3311.6Ssoda
3321.1Ssoda#### Pseudo devices
3331.1Ssoda
3341.1Ssoda# disk/mass storage pseudo-devices
3351.1Ssodapseudo-device	ccd		4	# concatenated/striped disk devices
3361.1Ssoda#pseudo-device	raid		4	# RAIDframe disk driver
3371.1Ssodapseudo-device	md		1	# memory disk device (ramdisk)
3381.1Ssodapseudo-device	vnd		4	# disk-like interface to files
3391.1Ssoda
3401.1Ssoda# network pseudo-devices
3411.1Ssodapseudo-device	bpfilter	8	# Berkeley packet filter
3421.1Ssodapseudo-device	ipfilter		# IP filter (firewall) and NAT
3431.1Ssodapseudo-device	loop		1	# network loopback
3441.1Ssodapseudo-device	ppp		2	# Point-to-Point Protocol
3451.1Ssodapseudo-device	sl		2	# Serial Line IP
3461.1Ssoda#pseudo-device	strip		2	# Starmode Radio IP (Metricom)
3471.1Ssodapseudo-device	tun		2	# network tunneling over tty
3481.1Ssoda#pseudo-device	gre		2	# generic L3 over IP tunnel
3491.1Ssodapseudo-device	gif		4	# IPv[46] over IPv[46] tunnel (RFC1933)
3501.1Ssoda#pseudo-device	faith		1	# IPv[46] tcp relay translation i/f
3511.1Ssoda#pseudo-device	stf		1	# 6to4 IPv6 over IPv4 encapsulation
3521.6Ssodapseudo-device	vlan			# IEEE 802.1q encapsulation
3531.1Ssoda
3541.1Ssoda# miscellaneous pseudo-devices
3551.4Sjdolecekpseudo-device	pty			# pseudo-terminals
3561.1Ssodapseudo-device	tb		1	# tablet line discipline
3571.1Ssoda#pseudo-device	sequencer	1	# MIDI sequencer
3581.1Ssoda# rnd works; RND_COM does not on port arc yet.
3591.1Ssodapseudo-device	rnd			# /dev/random and in-kernel generator
3601.1Ssoda#options 	RND_COM			# use "com" randomness as well (BROKEN)
3611.1Ssoda
3621.1Ssoda# a pseudo device needed for Coda	# also needs CODA (above)
3631.1Ssoda#pseudo-device	vcoda		4	# coda minicache <-> venus comm.
3641.1Ssoda
3651.1Ssoda# mouse & keyboard multiplexor pseudo-devices
3661.13Saugustss#pseudo-device	wsmux
367