Subject: Trouble with laptop devices and interrupts
To: None <port-i386@netbsd.org>
From: Michael Graff <explorer@flame.org>
List: port-i386
Date: 12/02/2002 22:46:34
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Note the pin C and D interrupt mapping issues.

Also, the audio device does not work unless I have something else,
like fxp0, generating interrupts on int 9.

dmesg and kernel config provided.

Any ideas how to even attempt to debug this?

- --Michael


NetBSD 1.6K (GENERIC_LAPTOP) #0: Mon Dec  2 22:12:08 PST 2002
    explorer@speedy.flame.org:/u0/OS/src/sys/arch/i386/compile/GENERIC_LAPTOP
total memory = 511 MB
avail memory = 467 MB
using 6144 buffers containing 26268 KB of memory
BIOS32 rev. 0 found at 0xfd890
PCI BIOS rev. 2.1 found at 0xfd9ca
pcibios: config mechanism [1][x], special cycles [x][x], last bus 2
PCI IRQ Routing Table rev. 1.0 found at 0xfdf50, size 144 bytes (7 entries)
PCI Interrupt Router at 000:31:0 (Intel 82371FB PCI-to-ISA Bridge (PIIX))
- ------------------------------------------
  device vendor product pin PIRQ IRQ stage
- ------------------------------------------
000:29:0 0x8086 0x2482   A  0x00   9  0    already assigned
000:29:1 0x8086 0x2484   B  0x03   9  0    already assigned
- ------------------------------------------
PCI fixup examining 8086:1a30
PCI fixup examining 8086:1a31
PCI fixup examining 1002:4c57
PCI bridge 0: primary 0, secondary 1, subordinate 1
PCI fixup examining 8086:2482
PCI fixup examining 8086:2484
PCI fixup examining 8086:2487
PCI fixup examining 8086:2448
PCI fixup examining 1180:476
PCI bridge 2: primary 2, secondary 3, subordinate 3
PCI fixup examining 1180:476
PCI bridge 3: primary 2, secondary 4, subordinate 4
PCI fixup examining 1180:552
PCI fixup examining 8086:1031
PCI bridge 1: primary 0, secondary 2, subordinate 4
PCI fixup examining 8086:248c
PCI fixup examining 8086:248a
PCI fixup examining 8086:2483
PCI fixup examining 8086:2485
PCI fixup examining 8086:2486
PCI bus #4 is the last bus
[System BIOS Setting]-----------------------
  device vendor product
  register space address    size
- --------------------------------------------
000:00:0 0x8086 0x1a30 
	10h mem  0xec000000 0x04000000
		[OK]
000:01:0 0x8086 0x1a31 
		[OK]
000:29:0 0x8086 0x2482 
	20h port 0x00001800 0x00000020
		[OK]
000:29:1 0x8086 0x2484 
	20h port 0x00001820 0x00000020
		[OK]
000:29:2 0x8086 0x2487 
	20h port 0x00001840 0x00000020
		[OK]
000:30:0 0x8086 0x2448 
		[OK]
000:31:0 0x8086 0x248c 
		[OK]
000:31:1 0x8086 0x248a 
	10h port 0x000001f0 0x00000008
	14h port 0x000003f4 0x00000004
	18h port 0x00000170 0x00000008
	1ch port 0x00000374 0x00000004
	20h port 0x00001860 0x00000010
	24h mem  0xe8000000 0x00000400
		[OK]
000:31:3 0x8086 0x2483 
	20h port 0x00001880 0x00000020
		[OK]
000:31:5 0x8086 0x2485 
	10h port 0x00001c00 0x00000100
	14h port 0x000018c0 0x00000040
		[OK]
000:31:6 0x8086 0x2486 
	10h port 0x00002400 0x00000100
	14h port 0x00002000 0x00000080
		[OK]
001:00:0 0x1002 0x4c57 
	10h mem  0xf0000000 0x08000000
	14h port 0x00003000 0x00000100
	18h mem  0xe8100000 0x00010000
		[OK]
002:05:0 0x1180 0x0476 
	10h mem  0x00000000 0x00001000
		[NG]
002:05:1 0x1180 0x0476 
	10h mem  0x00000000 0x00001000
		[NG]
002:05:2 0x1180 0x0552 
	10h mem  0xe8201000 0x00000800
		[OK]
002:08:0 0x8086 0x1031 
	10h mem  0xe8200000 0x00001000
	14h port 0x00004000 0x00000040
		[OK]
- --------------------------[  2 devices bogus]
 Physical memory end: 0x1ff7c000
 PCI memory mapped I/O space start: 0x20000000
[PCIBIOS fixup stage]-----------------------
  device vendor product
  register space address    size
- --------------------------------------------
000:00:0 0x8086 0x1a30 
	10h mem  0xec000000 0x04000000
		[OK]
000:01:0 0x8086 0x1a31 
		[OK]
000:29:0 0x8086 0x2482 
	20h port 0x00001800 0x00000020
		[OK]
000:29:1 0x8086 0x2484 
	20h port 0x00001820 0x00000020
		[OK]
000:29:2 0x8086 0x2487 
	20h port 0x00001840 0x00000020
		[OK]
000:30:0 0x8086 0x2448 
		[OK]
000:31:0 0x8086 0x248c 
		[OK]
000:31:1 0x8086 0x248a 
	10h port 0x000001f0 0x00000008
	14h port 0x000003f4 0x00000004
	18h port 0x00000170 0x00000008
	1ch port 0x00000374 0x00000004
	20h port 0x00001860 0x00000010
	24h mem  0xe8000000 0x00000400
		[OK]
000:31:3 0x8086 0x2483 
	20h port 0x00001880 0x00000020
		[OK]
000:31:5 0x8086 0x2485 
	10h port 0x00001c00 0x00000100
	14h port 0x000018c0 0x00000040
		[OK]
000:31:6 0x8086 0x2486 
	10h port 0x00002400 0x00000100
	14h port 0x00002000 0x00000080
		[OK]
001:00:0 0x1002 0x4c57 
	10h mem  0xf0000000 0x08000000
	14h port 0x00003000 0x00000100
	18h mem  0xe8100000 0x00010000
		[OK]
002:05:0 0x1180 0x0476 
	10h mem  0x20000000 0x00001000
		[OK]
002:05:1 0x1180 0x0476 
	10h mem  0x20001000 0x00001000
		[OK]
002:05:2 0x1180 0x0552 
	10h mem  0xe8201000 0x00000800
		[OK]
002:08:0 0x8086 0x1031 
	10h mem  0xe8200000 0x00001000
	14h port 0x00004000 0x00000040
		[OK]
- --------------------------[  0 devices bogus]
mainbus0 (root)
cpu0 at mainbus0: (uniprocessor)
cpu0: Intel Pentium 4 (686-class), 1590.90 MHz
cpu0: features 3febf9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR>
cpu0: features 3febf9ff<PGE,MCA,CMOV,FGPAT,PSE36,CFLUSH,DS,ACPI,MMX>
cpu0: features 3febf9ff<FXSR,SSE,SSE2,SS,HTT,TM>
cpu0: I-cache 12K uOp cache 8-way, D-cache 8 KB 64b/line 4-way
cpu0: L2 cache 512 KB 64b/line 8-way
cpu0: ITLB 4K/4M: 64 entries
cpu0: DTLB 4K/4M: 64 entries
cpu0: 16 page colors
pnpbios0 at mainbus0: nodes 18, max len 317
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pchb0 at pci0 dev 0 function 0
pchb0: Intel 82845 Host (rev. 0x04)
pchb0: random number generator enabled
agp at pchb0 not configured
ppb0 at pci0 dev 1 function 0: Intel 82845 AGP (rev. 0x04)
pci1 at ppb0 bus 1
pci1: i/o space, memory space enabled
vga1 at pci1 dev 0 function 0: ATI Technologies product 0x4c57 (rev. 0x00)
wsdisplay0 at vga1 kbdmux 1: console (80x25, vt100 emulation)
wsmux1: connecting to wsdisplay0
uhci0 at pci0 dev 29 function 0: Intel 82801CA/CAM USB Controller (rev. 0x02)
uhci0: interrupting at irq 9
usb0 at uhci0: USB revision 1.0
uhub0 at usb0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1 at pci0 dev 29 function 1: Intel 82801CA/CAM USB Controller (rev. 0x02)
uhci1: interrupting at irq 9
usb1 at uhci1: USB revision 1.0
uhub1 at usb1
uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhci2 at pci0 dev 29 function 2: Intel 82801CA/CAM USB Controller (rev. 0x02)
pci_intr_map: no mapping for pin C (line=ff)
uhci2: couldn't map interrupt
ppb1 at pci0 dev 30 function 0: Intel 82801BAM Hub-to-PCI Bridge (rev. 0x42)
pci2 at ppb1 bus 2
pci2: i/o space, memory space enabled
cbb0 at pci2 dev 5 function 0: Ricoh 5C476 PCI-CardBus bridge (rev. 0xa8)
cbb1 at pci2 dev 5 function 1: Ricoh 5C476 PCI-CardBus bridge (rev. 0xa8)
cbb1: NOT USED because of unconfigured interrupt
fwohci0 at pci2 dev 5 function 2: Ricoh 5C552 PCI-CardBus bridge/Firewire (rev. 0x00)
pci_intr_map: no mapping for pin D (line=ff)
fwohci0: couldn't map interrupt
fxp0 at pci2 dev 8 function 0: Intel PRO/100 VE Network Controller, rev 66
fxp0: interrupting at irq 9
fxp0: Ethernet address 08:00:46:63:d1:71
ukphy0 at fxp0 phy 1: Generic IEEE 802.3u media interface
ukphy0: i82562ET 10/100 media interface (OUI 0x005500, model 0x0033), rev. 0
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
cbb0: interrupting at irq 3
cardslot0 at cbb0 slot 0 flags 0
cardbus0 at cardslot0: bus 3 device 0
pcmcia0 at cardslot0
pcib0 at pci0 dev 31 function 0
pcib0: Intel 82801CAM LPC Interface (rev. 0x02)
pciide0 at pci0 dev 31 function 1: Intel 82801CA IDE Controller (rev. 0x02)
pciide0: bus-master DMA support present
pciide0: primary channel wired to compatibility mode
wd0 at pciide0 channel 0 drive 0: <TOSHIBA MK4018GAS>
wd0: drive supports 16-sector PIO transfers, LBA addressing
wd0: 38154 MB, 16383 cyl, 16 head, 63 sec, 512 bytes/sect x 78140160 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
pciide0: primary channel interrupting at irq 14
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 5 (Ultra/100) (using DMA data transfers)
pciide0: secondary channel wired to compatibility mode
pciide0: disabling secondary channel (no drives)
Intel 82801CA/CAM SMBus Controller (SMBus serial bus, revision 0x02) at pci0 dev 31 function 3 not configured
auich0 at pci0 dev 31 function 5: i82801CA (ICH3) AC-97 Audio
auich0: interrupting at irq 9
auich0: Yamaha YMF753-S codec; 18 bit DAC, no 3D stereo
auich0: S/PDIF
audio0 at auich0: full duplex, independent
Intel 82801CA/CAM Modem (modem communications, revision 0x02) at pci0 dev 31 function 6 not configured
isa0 at pcib0
com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
pckbc0 at isa0 port 0x60-0x64
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pms0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
lpt0 at isa0 port 0x378-0x37b irq 7
pcppi0 at isa0 port 0x61
midi0 at pcppi0: PC speaker
sysbeep0 at pcppi0
isapnp0 at isa0 port 0x279: ISA Plug 'n Play device support
npx0 at isa0 port 0xf0-0xff: using exception 16
isapnp0: no ISA Plug 'n Play devices found
apm0 at mainbus0: Power Management spec V1.2
IPsec: Initialized Security Association Processing.
wi0 at pcmcia0 function 0: Avaya Communication, Avaya Wireless PC Card, Version 01.01
wi0: 802.11 address 00:02:2d:21:bd:93
wi0: using Lucent Technologies, WaveLAN/IEEE
wi0: Lucent Firmware: Station (8.10.1)
wi0: supported rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
boot device: wd0
root on wd0a dumps on wd0b
root file system type: ffs



#	$NetBSD: GENERIC_LAPTOP,v 1.61 2002/10/05 16:02:39 elric Exp $
#	From: NetBSD: GENERIC,v 1.414 2001/07/30 19:59:05 ad Exp
#
#	GENERIC_LAPTOP -- GENERIC with cardbus and some USB devices enabled
#

include "arch/i386/conf/std.i386"

#options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary

#ident 		"GENERIC-$Revision: 1.61 $"

maxusers	64		# estimated number of users

# CPU support.  At least one is REQUIRED.
#options 	I386_CPU
#options 	I486_CPU
options 	I586_CPU
options 	I686_CPU

# CPU-related options.
options 	MATH_EMULATE	# floating point emulation
options 	VM86		# virtual 8086 emulation
options 	USER_LDT	# user-settable LDT; used by WINE
# eliminate delay no-ops in I/O; recommended on all but very old machines
options 	DUMMY_NOPS

options 	MTRR		# memory-type range register syscall support
options 	PERFCTRS	# performance-monitoring counters support

# delay between "rebooting ..." message and hardware reset, in milliseconds
#options 	CPURESET_DELAY=2000

# This option allows you to force a serial console at the specified
# I/O address.   see console(4) for details.
#options 	CONSDEVNAME="\"com\"",CONADDR=0x2f8,CONSPEED=57600
#	you don't want the option below ON iff you are using the
#	serial console option of the new boot strap code.
#options 	CONS_OVERRIDE	# Always use above! independent of boot info

# The following options override the memory sizes passed in from the boot
# block.  Use them *only* if the boot block is unable to determine the correct
# values.  Note that the BIOS may *correctly* report less than 640k of base
# memory if the extended BIOS data area is located at the top of base memory
# (as is the case on most recent systems).
#options 	REALBASEMEM=639		# size of base memory (in KB)
#options 	REALEXTMEM=15360	# size of extended memory (in KB)

# Standard system options

options 	UCONSOLE	# users can use TIOCCONS (for xconsole)
options 	INSECURE	# disable kernel security levels - X needs this

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 	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=2048	# 2048 pages is the default

options 	LKM		# loadable kernel modules

options 	USERCONF	# userconf(4) support
#options	PIPE_SOCKETPAIR	# smaller, but slower pipe(2)

# Diagnostic/debugging support options
#options 	DIAGNOSTIC	# expensive 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=512	# enable history editing in DDB
#options 	KGDB		# remote debugger
#options 	KGDB_DEVNAME="\"com\"",KGDB_DEVADDR=0x3f8,KGDB_DEVRATE=9600
#makeoptions	DEBUG="-g"	# compile full symbol table

# Compatibility options
options 	COMPAT_NOMID	# compatibility with 386BSD, BSDI, NetBSD 0.8,
#options 	COMPAT_09	# NetBSD 0.9,
#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_15	# NetBSD 1.5,
options 	COMPAT_43	# and 4.3BSD
options 	COMPAT_386BSD_MBRPART # recognize old partition ID
#options 	TCP_COMPAT_42	# 4.2BSD TCP/IP bug compat. Not recommended.

#options 	COMPAT_SVR4	# binary compatibility with SVR4
#options 	COMPAT_IBCS2	# binary compatibility with SCO and ISC
options 	COMPAT_LINUX	# binary compatibility with Linux
#options 	COMPAT_FREEBSD	# binary compatibility with FreeBSD
#options 	COMPAT_MACH	# binary compatibility with Mach binaries
#options 	EXEC_MACHO	# exec MACH-O binaries
#options 	COMPAT_PECOFF	# kernel support to run Win32 apps

# File systems
file-system 	FFS		# UFS
#file-system 	EXT2FS		# second extended file system (linux)
#file-system 	LFS		# log-structured file system
file-system 	MFS		# memory file system
file-system 	NFS		# Network File System client
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 	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		# UFS 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		# 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
#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

# These options enable verbose messages for several subsystems.
# Warning, these may compile large string tables into the kernel!
options 	MIIVERBOSE	# verbose PHY autoconfig messages
options 	PCIVERBOSE	# verbose PCI device autoconfig messages
#options 	PCI_CONFIG_DUMP	# verbosely dump PCI config space
#options 	PCMCIAVERBOSE	# verbose PCMCIA configuration messages
options 	SCSIVERBOSE	# human readable SCSI error messages
options 	USBVERBOSE	# verbose USB device autoconfig messages
#options 	PNPBIOSVERBOSE	# verbose PnP BIOS messages
#options 	PNPBIOSDEBUG	# more fulsome PnP BIOS debugging messages

options 	NFS_BOOT_DHCP,NFS_BOOT_BOOTPARAM

#
# wscons options
#
# builtin terminal emulations
#options 	WSEMUL_SUN		# sun terminal emulation
options 	WSEMUL_VT100		# VT100 / VT220 emulation
# different kernel output - see dev/wscons/wsdisplayvar.h
options 	WS_KERNEL_FG=WSCOL_GREEN
#options 	WS_KERNEL_BG=WSCOL_BLACK
# compatibility to other console drivers
options 	WSDISPLAY_COMPAT_PCVT		# emulate some ioctls
options 	WSDISPLAY_COMPAT_SYSCONS	# emulate some ioctls
options 	WSDISPLAY_COMPAT_USL		# VT handling
options 	WSDISPLAY_COMPAT_RAWKBD		# can get raw scancodes
# see dev/pckbc/wskbdmap_mfii.c for implemented layouts
#options 	PCKBD_LAYOUT="(KB_DE | KB_NODEAD)"
# allocate a number of virtual screens at autoconfiguration time
#options 	WSDISPLAY_DEFAULTSCREENS=4
# use a large software cursor that doesn't blink
options 	PCDISPLAY_SOFTCURSOR
# modify the screen type of the console; defaults to "80x25"
#options 	VGA_CONSOLE_SCREENTYPE="\"80x24\""

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

#
# Device configuration
#

mainbus0 at root

cpu0 at mainbus0
#ioapic* at mainbus?

apm0	at mainbus0			# Advanced power management

# Tuning for power management, see apm(4) for more details.
#options 	APM_NO_IDLE		# Don't call BIOS CPU idle function
#options 	APM_V10_ONLY		# Use only the APM 1.0 calls
#options 	APM_NO_POWEROFF		# Don't power off on halt(8)
#options 	APM_POWER_PRINT		# Print stats on the console
#options 	APM_DISABLE_INTERRUPTS=0 # Don't disable interrupts


# Basic Bus Support

# Plug-and-Play BIOS and attached devices

pnpbios*	at mainbus?

# mainboard audio chips
#ess*		at pnpbios? index ?	# ESS AudioDrive
#sb*		at pnpbios? index ?	# NeoMagic 256AV in sb mode
#wss*		at pnpbios? index ?	# NeoMagic 256AV in wss mode
#ym*		at pnpbios? index ?	# OPL3-SA3

# com port
# If enabled, consider changing "com0", "com1", and "com2" under "ISA Serial
# Interfaces" to "com*", otherwise com2 will attach at pnpbios? and there
# will be no com0.  A side effect is pcmcia (and other) com? previously
# starting at com3 may attach as com1 or com2.
#com*		at pnpbios? index ?	# serial ports

# parallel port
# The above "com*" comments apply, cf. "lpt0" under "ISA parallel
# "printer interfaces".
#lpt*		at pnpbios? index ?	# parallel ports

#pckbc*		at pnpbios? index ?	# PC keyboard/mouse controller
#fdc*		at pnpbios? index ?	# floppy controller

# IDE controller on Toshiba Portege 3000 series (crippled PCI device)
#pciide*	at pnpbios? index ?

# PCI bus support
pci*	at mainbus? bus ?
pci*	at pchb? bus ?
pci*	at ppb? bus ?

# Configure PCI using BIOS information
options 	PCIBIOS			# PCI BIOS support
options 	PCIBIOSVERBOSE		# PCI BIOS verbose info
options 	PCIBIOS_ADDR_FIXUP	# fixup PCI I/O addresses
options 	PCIBIOS_BUS_FIXUP	# fixup PCI bus numbering
options 	PCIBIOS_INTR_FIXUP	# fixup PCI interrupt routing
#options 	PCIBIOS_IRQS_HINT=0x0a00 # PCI interrupts hint. IRQ 9 or 11
options 	PCIBIOS_IRQS_HINT=0x1c00
options 	PCIBIOS_INTR_GUESS	# see pcibios(4)
#options 	PCIINTR_DEBUG		# super-verbose PCI interrupt fixup

# PCI bridges
pchb*	at pci? dev ? function ?	# PCI-Host bridges
pcib*	at pci? dev ? function ?	# PCI-ISA bridges
ppb*	at pci? dev ? function ?	# PCI-PCI bridges
# XXX 'puc's aren't really bridges, but there's no better place for them here
puc*	at pci? dev ? function ?	# PCI "universal" comm. cards

#agp* 	at pchb?

# ISA bus support
isa0	at mainbus?
isa0	at pcib?

# PCMCIA bus support
pcmcia*	at pcic? controller ? socket ?
pcmcia*	at tcic? controller ? socket ?

# ISA PCMCIA controllers
pcic0	at isa? port 0x3e0 iomem 0xd0000 iosiz 0x10000
pcic1	at isa? port 0x3e2 iomem 0xe0000 iosiz 0x4000
pcic2	at isa? port 0x3e4 iomem 0xe0000 iosiz 0x4000
tcic0	at isa? port 0x240 iomem 0xd0000 iosiz 0x10000

# PCI PCMCIA controllers
pcic0	at pci? dev? function ?

# ISA Plug-and-Play bus support
isapnp0	at isa?

# ISA Plug-and-Play PCMCIA controllers
pcic*	at isapnp?

# CardBus bridge support
cbb*		at pci? dev ? function ?
cardslot*	at cbb?

# CardBus bus support
cardbus*	at cardslot?
pcmcia* 	at cardslot?

# Coprocessor Support

# Math Coprocessor support
npx0	at isa? port 0xf0 irq 13	# x86 math coprocessor


# Console Devices

# ISA console
#pc0	at isa? port 0x60 irq 1		# pccons generic PC console driver
# Keyboard layout configuration for pccons
#options 	FRENCH_KBD
#options 	FINNISH_KBD
#options 	GERMAN_KBD
#options 	NORWEGIAN_KBD
# pccons-specific options:
#options 	XSERVER_DDB	# PF12 gets you into DDB when X is running
#options 	XSERVER		# X server support


# wscons
pckbc0		at isa?			# pc keyboard controller
pckbd*		at pckbc?		# PC keyboard
pms*		at pckbc?		# PS/2 mouse for wsmouse
vga0		at isa?
vga*		at pci? dev ? function ?
pcdisplay0	at isa?			# CGA, MDA, EGA, HGA
wsdisplay*	at vga? console ?
wsdisplay*	at pcdisplay? console ?
wskbd* 		at pckbd? console ?
wsmouse*	at pms? mux 0

pcppi0		at isa?
sysbeep0	at pcppi?

# Serial Devices

# PCI serial interfaces
com*	at puc? port ?			# 16x50s on "universal" comm boards
cy*	at pci? dev ? function ?	# Cyclades Cyclom-Y serial boards
cz*	at pci? dev ? function ?	# Cyclades-Z multi-port serial boards

# ISA Plug-and-Play serial interfaces
com*	at isapnp?			# Modems and serial boards

# PCMCIA serial interfaces
com*	at pcmcia? function ?		# Modems and serial cards

pcmcom*	at pcmcia? function ?		# PCMCIA multi-port serial cards
com*	at pcmcom? slave ?		# ...and the slave devices

# CardBus serial interfaces
com*	at cardbus? dev ? function ?	# Modems and serial cards

# ISA serial interfaces
#options 	COM_HAYESP		# adds Hayes ESP serial board support
com0	at isa? port 0x3f8 irq 4	# Standard PC serial ports
com1	at isa? port 0x2f8 irq 3
com2	at isa? port 0x3e8 irq 5
#com3	at isa? port 0x2e8 irq 9
#ast0	at isa? port 0x1a0 irq 5	# AST 4-port serial cards
#com*	at ast? slave ?
#boca0	at isa? port 0x100 irq 5	# BOCA 8-port serial cards
#boca0	at isa? port 0x100 irq 5	# BOCA 16-port serial cards (BB2016)
#boca1	at isa? port 0x140 irq 5	# this line is also needed for BB2016
#com*	at boca? slave ?
#tcom0	at isa? port 0x100 irq 7	# TC-800 8-port serial cards
#com*	at tcom? slave ?
#rtfps0	at isa? port 0x1230 irq 10	# RT 4-port serial cards
#com*	at rtfps? slave ?
#cy0	at isa? iomem 0xd4000 irq 12	# Cyclades serial cards
#addcom0 at isa? port 0x108 irq 5	# Addonics FlexPort 8S
#com*	at addcom? slave ?
#moxa0	at isa?	port 0x100 irq 5	# MOXA C168H serial card (experimental)
#com*	at moxa? slave ?


# Parallel Printer Interfaces

# ISA parallel printer interfaces
lpt0	at isa? port 0x378 irq 7	# standard PC parallel ports
lpt1	at isa? port 0x278
lpt2	at isa? port 0x3bc

# Hardware monitors

# LM7[89] and compatible hardware monitors
#lm0	at isa?	port 0x290		# other common ports: 0x280, 0x310

# VIA VT82C686A hardware monitor
#viapm*	at pci? dev ? function ?
#viaenv* at viapm?

#
# Firewire support
#
fwohci* at pci? dev ? function ?
fwnode* at fwbus? idhi ? idlo ?
fw* at fwbus?
sbpscsi* at fwnode?
scsibus* at sbpscsi?

# SCSI Controllers and Devices

# PCMCIA SCSI controllers
aic*	at pcmcia? function ?		# Adaptec APA-1460 SCSI
esp*	at pcmcia? function ?		# Qlogic ESP406/FAS408 SCSI

# CardBus SCSI cards
ahc*	at cardbus? dev ? function ?	# Adaptec ADP-1480
adv*	at cardbus? dev ? function ?	# AdvanSys 1200[A,B], 9xx[U,UA] SCSI

# SCSI bus support
scsibus* at scsi?

# 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
ses*	at scsibus? target ? lun ?	# SCSI Enclosure Services devices
ss*	at scsibus? target ? lun ?	# SCSI scanners
uk*	at scsibus? target ? lun ?	# SCSI unknown

# 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

# ISA Plug-and-Play IDE controllers
wdc*	at isapnp?

# PCMCIA IDE controllers
wdc*	at pcmcia? function ?

# 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

# 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 wdc? channel ? drive ? flags 0x0000
wd*	at pciide? channel ? drive ? flags 0x0000

# ATAPI bus support
atapibus* at atapi?

# ATAPI 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
st*	at atapibus? drive ? flags 0x0000	# ATAPI tape drives
uk*	at atapibus? drive ? flags 0x0000	# ATAPI unknown

# Miscellaneous mass storage devices

# ISA floppy
fdc0	at isa? port 0x3f0 irq 6 drq 2	# standard PC floppy controllers
#fdc1	at isa? port 0x370 irq ? drq ?
fd*	at fdc? drive ?			# the drives themselves
# some machines need you to do this instead of fd*
#fd0	at fdc0 drive 0

# Network Interfaces

# PCI network interfaces
ex*	at pci? dev ? function ?	# 3Com 90x[BC]
fxp*	at pci? dev ? function ?	# Intel EtherExpress PRO 10+/100B
ne* 	at pci? dev ? function ?	# NE2000-compatible Ethernet
rtk* 	at pci? dev ? function ?	# Realtek 8129/8139
tlp*	at pci? dev ? function ?	# DECchip 21x4x and clones

# PCMCIA network interfaces
an*	at pcmcia? function ?		# Aironet PC4500/PC4800 (802.11)
awi*	at pcmcia? function ?		# BayStack 650/660 (802.11FH/DS)
cnw*	at pcmcia? function ?		# Xircom/Netwave AirSurfer
ep*	at pcmcia? function ?		# 3Com 3c589 and 3c562 Ethernet
mbe*	at pcmcia? function ?		# MB8696x based Ethernet
ne*	at pcmcia? function ?		# NE2000-compatible Ethernet
ray*	at pcmcia? function ?		# Raytheon Raylink (802.11)
sm*	at pcmcia? function ?		# Megahertz Ethernet
wi*	at pcmcia? function ?		# Lucent/Intersil WaveLan IEEE (802.11)
xi*	at pcmcia? function ?		# Xircom CreditCard Ethernet

mhzc*	at pcmcia? function ?		# Megahertz Ethernet/Modem combo cards
com*	at mhzc?
sm*	at mhzc?

# CardBus network cards
ex*	at cardbus? dev ? function ?	# 3Com 3C575TX
fxp*	at cardbus? dev ? function ?	# Intel i8255x
rtk*	at cardbus? dev ? function ?	# Realtek 8129/8139
tlp*	at cardbus? dev ? function ?	# DECchip 21143

# MII/PHY support
dmphy*	at mii? phy ?			# Davicom DM9101 PHYs
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


# USB Controller and Devices

# PCI USB controllers
ohci*	at pci?	dev ? function ?	# Open Host Controller
uhci*	at pci?	dev ? function ?	# Universal Host Controller (Intel)

# CardBus USB controllers
#ohci*	at cardbus? dev ? function ?	# Open Host Controller

# USB bus support
usb*	at ohci?
usb*	at uhci?

# USB Hubs
uhub*	at usb?
uhub*	at uhub? port ? configuration ? interface ?

# USB HID device
uhidev*	at uhub? port ? configuration ? interface ?

# USB Mice
ums*	at uhidev? reportid ?
wsmouse*	at ums? mux 0

# USB Keyboards
ukbd*	at uhidev? reportid ?
wskbd*	at ukbd? console ? mux 1

# USB Generic HID devices
uhid*	at uhidev? reportid ?

# USB Printer
ulpt*	at uhub? port ? configuration ? interface ?

# USB Modem
umodem*	at uhub? port ? configuration ?
ucom*	at umodem?

# USB Mass Storage
umass*	at uhub? port ? configuration ? interface ?
atapibus*  at umass? channel ?
scsibus*   at umass? channel ?
wd* at umass?

# USB audio
uaudio*	at uhub? port ? configuration ?

# USB MIDI
umidi* at uhub? port ? configuration ?

# USB IrDA
# USB-IrDA bridge spec
uirda* at uhub? port ? configuration ? interface ?
irframe* at uirda?

# SigmaTel STIr4200 USB/IrDA Bridge
ustir* at uhub? port ?
irframe* at ustir?

# USB Ethernet adapters
aue*	at uhub? port ?		# ADMtek AN986 Pegasus based adapters
cue*	at uhub? port ?		# CATC USB-EL1201A based adapters
kue*	at uhub? port ?		# Kawasaki LSI KL5KUSB101B based adapters

# Prolofic PL2301/PL2302 host-to-host adapter
upl*	at uhub? port ?

# Serial adapters
# FTDI FT8U100AX serial adapter
uftdi*	at uhub? port ?
ucom*	at uftdi? portno ?

uplcom*	at uhub? port ?		# I/O DATA USB-RSAQ2 serial adapter
ucom*	at uplcom? portno ?

umct*	at uhub? port ?		# MCT USB-RS232 serial adapter
ucom*	at umct? portno ?

# Diamond Multimedia Rio 500
urio*	at uhub? port ?

# USB Handspring Visor
uvisor*	at uhub? port ?
ucom*	at uvisor?

# Y@P firmware loader
uyap* at uhub? port ?

# USB Generic driver
ugen*	at uhub? port ?


# IrDA and Consumer Ir devices

# Toshiba Oboe
oboe* 	at pci? dev ? function ?
irframe* at oboe?


# Audio Devices

# PCI audio devices
auich*	at pci? dev ? function ?	# Intel ICH integrated AC'97 Audio
autri*	at pci? dev ? function ?	# Trident 4DWAVE based AC'97 Audio
auvia*	at pci? dev ? function ?	# VIA VT82C686A integrated AC'97 Audio
clcs*	at pci? dev ? function ?	# Cirrus Logic CS4280
clct*	at pci? dev ? function ?	# Cirrus Logic CS4281
cmpci*	at pci? dev ? function ?	# C-Media CMI8338/8738
eap*	at pci? dev ? function ?	# Ensoniq AudioPCI
emuxki*	at pci? dev ? function ?	# Creative SBLive! and PCI512
esa*	at pci? dev ? function ?	# ESS Allegro-1 / Maestro-3 PCI Audio
esm*	at pci? dev ? function ?	# ESS Maestro-1/2/2e PCI Audio Accelerator
eso*	at pci? dev ? function ?	# ESS Solo-1 PCI AudioDrive
fms*	at pci? dev ? function ?	# Forte Media FM801
neo*	at pci? dev ? function ?	# NeoMagic 256 AC'97 Audio
sv*	at pci? dev ? function ?	# S3 SonicVibes
yds*	at pci? dev ? function ?	# Yamaha DS-1 PCI Audio

# ISA Plug-and-Play audio devices
ess*	at isapnp?			# ESS Tech ES1887, ES1888, ES888 audio
guspnp*	at isapnp?			# Gravis Ultra Sound PnP audio
sb*	at isapnp?			# SoundBlaster-compatible audio
wss*	at isapnp?			# Windows Sound System
ym*	at isapnp?			# Yamaha OPL3-SA3 audio

# ISA audio devices
# the "aria" probe might give false hits
#aria0	at isa? port 0x290 irq 10 		# Aria
#ess0	at isa? port 0x220 irq 5 drq 1 drq2 5	# ESS 18XX
gus0	at isa? port 0x220 irq 7 drq 1 drq2 6	# Gravis Ultra Sound
pas0	at isa? port 0x220 irq 7 drq 1		# ProAudio Spectrum
pss0	at isa? port 0x220 irq 7 drq 6		# Personal Sound System
sp0	at pss0 port 0x530 irq 10 drq 0		# 	sound port driver
sb0	at isa? port 0x220 irq 5 drq 1 drq2 5	# SoundBlaster
#wss0	at isa? port 0x530 irq 10 drq 0	drq2 1	# Windows Sound System

# PCMCIA audio devices
esl*	at pcmcia? function ?			# ESS 1688 AudioDrive

#cms0	at isa? port 0x220			# Creative Music System

# OPL[23] FM synthesizers
#opl0	at isa? port 0x388	# use only if not attached to sound card
opl*	at cmpci? flags 1
opl*	at esl?
opl*	at eso?
opl*	at ess?
opl*	at fms?
opl*	at sb?
opl*	at sv?
opl*	at wss?
opl*	at yds?
opl*	at ym?

# Audio support
audio*	at audiobus?

# MPU 401 UARTs
#mpu*	at isa? port 0x330 irq 9	# MPU401 or compatible card
mpu*	at cmpci?
mpu*	at eso?
mpu*	at fms?
mpu*	at sb?
mpu*	at yds?
mpu*	at ym?

# MIDI support
midi*	at midibus?
midi*	at pcppi?		# MIDI interface to the PC speaker

# The spkr driver provides a simple tone interface to the built in speaker.
#spkr0	at pcppi?		# PC speaker


# Mice

# ISA busmice
lms0	at isa? port 0x23c irq 5	# Logitech bus mouse
lms1	at isa? port 0x238 irq 5
mms0	at isa? port 0x23c irq 5	# Microsoft InPort mouse
mms1	at isa? port 0x238 irq 5
wsmouse*	at lms? mux 0
wsmouse*	at mms? mux 0
# backwards compatible versions
#olms0	at isa? port 0x23c irq 5	# Logitech bus mouse
#olms1	at isa? port 0x238 irq 5
#omms0	at isa? port 0x23c irq 5	# Microsoft InPort mouse
#omms1	at isa? port 0x238 irq 5


# Joysticks

#joy*		at pnpbios? index ?	# Game port

# ISA Plug-and-Play joysticks
joy*	at isapnp?			# Game ports (usually on audio cards)

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


# Miscellaneous Devices

# Planetconnect Satellite receiver driver.
#satlink0 at isa? port 0x300 drq 1


# Pull in optional local configuration
include	"arch/i386/conf/GENERIC.local"


# Pseudo-Devices

# 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 	RAID_AUTOCONFIG		# auto-configuration of RAID components
# 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			# 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	irframetty		# IrDA frame line discipline
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

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

# wscons pseudo-devices
pseudo-device	wsmux			# mouse & keyboard multiplexor
pseudo-device	wsfont
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (NetBSD)
Comment: See http://www.flame.org/~explorer/pgp for my keys

iD8DBQE97FNKl6Nz7kJWYWYRAsNJAJ9OuhOXftq4GP+wjI7vn97EX402lwCeMBIU
uQHpWIYFPEH6PQt9fRaH+PY=
=shUs
-----END PGP SIGNATURE-----