Subject: funny PCMCIA card irq allocations on an IBM ThinkPad 560E
To: None <port-i386@netbsd.org>
From: Allen D. Ball <ball@impression-technology.com>
List: port-i386
Date: 04/20/1999 16:31:00
This is a multi-part message in MIME format.

------=_NextPart_000_000B_01BE8B4B.2DB99E20
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

Hello,

I am trying to get 1.4APLHA to work with my ThinkPad 560E configured with two
PCMCIA cards: a 3com 3c589 10Mbps Ethernet and an Adaptec APA-1460 SCSI Host
Adapter.  (I often have an external Jaz drive on the SCSI chain.)  I have a
working kernel configuration for 1.3.3 which I used as the basis for a 1.4
configuration (see attached).  With my Jaz drive attached, the kernel finds the
devices but "hangs."  Sometimes it reports "SCSI bus reset," sometimes not.

According to the kernel messages, both PCMCIA cards are being assigned IRQ 10!
If I detach the external Jaz drive I am able to boot and I captured the kernel
msgbuf (see second attachment).  If I try booting with only the SCSI card (and
not the ethernet card) the kernel still hangs if the Jaz drive is attached.

In my effort to provide as much detail as possible, I:

* Sup'ed the latest sources.
* Built make
* Built config
* Built EGCS
* Built the kernel with the above tools

Anyone have any ideas?  Thanks in advance.

Allen
--

------=_NextPart_000_000B_01BE8B4B.2DB99E20
Content-Type: text/plain;
	name="THINKPAD-560E.txt"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="THINKPAD-560E.txt"

# THINKPAD-560E

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

maxusers	32		# estimated number of users

options RTC_OFFSET=480  # hardware clock is this many mins. west of GMT
options 	NTP		# NTP phase/frequency locked loop

options		PCIC_ISA_INTR_ALLOC_MASK=0x0e00
options		PCIC_ISA_ALLOC_IOBASE=0x400
options		PCIC_ISA_ALLOC_IOSIZE=0xbff
  
# 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 	USER_LDT	# user-settable LDT; used by WINE
options 	DUMMY_NOPS

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

# Misc. i386-specific options
options 	XSERVER		# X server support in console drivers
options 	XSERVER_DDB	# PF12 gets you into DDB when X is running

# Standard system options

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

options 	KTRACE		# system call tracing via ktrace(1)

options 	SYSVMSG		# System V-like message queues
options 	SYSVSEM		# System V-like semaphores
options 	SYSVSHM		# System V-like memory sharing
options 	SHMMAXPGS=1024	# 1024 pages is the default

options 	LKM		# loadable kernel modules

# 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
#makeoptions	DEBUG="-g"	# compile full symbol table
makeoptions     DEBUG="-O2 -m486"

# 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_43	# and 4.3BSD
options 	COMPAT_386BSD_MBRPART # recognize old partition ID

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

# Executable format options
options 	EXEC_ELF32	# 32-bit ELF executables (SVR4, Linux)

# 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 	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 	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 Independant support
options 	NFSSERVER	# Network File System server

# Networking options
options 	GATEWAY		# packet forwarding
options 	INET		# IP + ICMP + TCP + UDP
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

# Compatibility with 4.2BSD implementation of TCP/IP.  Not recommended.
#options 	TCP_COMPAT_42

# 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 	PCIVERBOSE	# verbose PCI device autoconfig messages
options 	PCMCIAVERBOSE	# verbose PCMCIA configuration messages
options 	SCSIVERBOSE	# human readable SCSI error messages
options 	USBVERBOSE	# verbose USB device autoconfig messages

options 	NFS_BOOT_BOOTP,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

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

#
# Device configuration
#
mainbus0 at root
apm0	at mainbus0			# Advanced power management
pci0    at mainbus0 bus 0               # PCI bus
pchb0   at pci0 dev 0 function 0        # PCI-Host bridge
pcib0   at pci0 dev 1 function 0        # PCI-ISA bridge
isa0    at pcib0                        # ISA bus
pcic0   at isa0 port 0x3e0 iomem 0xd0000 iosiz 0x4000

pcmcia* at pcic? controller ? socket ?

npx0    at isa? port 0xf0 irq 13        # Math coprocessor
com0	at isa? port 0x3f8 irq 4	# Standard PC serial ports
com1    at isa? port 0x2f8 irq 3        # serial port
#com2	at isa? port 0x3e8 irq 5
lpt0	at isa? port 0x378 irq 7	# standard PC parallel ports
lpt1	at isa? port 0x278
lpt2	at isa? port 0x3bc

#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
aic*	at pcmcia? function ?		# Adaptec APA-1460 SCSI

scsibus* at aic?

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

wdc0    at isa0 port 0x1f0 irq 14       # ST506, ESDI, or IDE controller
wd*	at wdc? channel ? drive ? flags 0x0000

fdc0	at isa? port 0x3f0 irq 6 drq 2	# standard PC floppy controllers
fd*	at fdc? drive ?			# the drives themselves

ep*	at pcmcia? function ?		# 3Com 3c589 and 3c562 Ethernet
mbe*	at pcmcia? function ?		# MB8696x based Ethernet
ne*	at pcmcia? function ?		# NE2000-compatible Ethernet
sm*	at pcmcia? function ?		# Megahertz Ethernet

sb0     at isa0 port 0x220 irq 5 drq 1 drq2 5   # SoundBlaster
audio0  at sb0

opms*		at pckbc?		# backwards compatible PS/2 mouse

pckbc0	at isa?			# pc keyboard controller
pckbd*	at pckbc?		# PC keyboard
vga*		at pci?
pcdisplay0	at isa?			# CGA, MDA, EGA, HGA
wsdisplay*	at vga? console ?
wsdisplay*	at pcdisplay? console ?
wskbd*	at pckbd? console ?

pcppi0	at isa?
sysbeep0	at pcppi?

opl*	at sb?

midi*	at sb?			# SB MPU401 port

# Pseudo-Devices

# disk/mass storage pseudo-devices
pseudo-device	ccd		4	# concatenated/striped disk devices
#pseudo-device	raid		4	# RAIDframe disk driver
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	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	ipip		2	# IP Encapsulation within IP (RFC 2003)

# miscellaneous pseudo-devices
pseudo-device	pty		64	# 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)

# a pseudo device needed for Coda	# also needs CODA (above)
pseudo-device	vcoda		4	# coda minicache <-> venus comm.

------=_NextPart_000_000B_01BE8B4B.2DB99E20
Content-Type: text/plain;
	name="dmesg.txt"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="dmesg.txt"

NetBSD 1.4_ALPHA (THINKPAD-560E) #3: Mon Apr 19 13:50:14 PDT 1999
    =
ball@platypus:/jaz/NetBSD-1.4/usr/src/sys/arch/i386/compile/THINKPAD-560E=

cpu0: family 5 model 4 step 4
cpu0: Intel Pentium/MMX (586-class)
real mem  =3D 83492864
avail mem =3D 74731520
using 1044 buffers containing 4276224 bytes of memory
mainbus0 (root)
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o enabled, memory enabled
pchb0 at pci0 dev 0 function 0
pchb0: Intel 82437MX Mobile System Controller (MTSC) (rev. 0x02)
pcib0 at pci0 dev 1 function 0
pcib0: Intel 82371MX Mobile PCI I/O IDE Xcelerator (MPIIX) (rev. 0x03)
vga0 at pci0 dev 3 function 0: Trident Microsystems TGUI 9660 (rev. =
0xd3)
wsdisplay0 at vga0: console (80x25, vt100 emulation)
Cirrus Logic CL-PD6729 (PCMCIA bridge, revision 0xe2) at pci0 dev 19 =
function 0 not configured
isa0 at pcib0
com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
wdc0 at isa0 port 0x1f0-0x1f7 irq 14
wd0 at wdc0 channel 0 drive 0: <TOSHIBA MK4006MAV>
wd0: drive supports 16-sector pio transfers, lba addressing
wd0: 3909MB, 7944 cyl, 16 head, 63 sec, 512 bytes/sect x 8007552 sectors
wd0: 32-bits data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2
lpt2 at isa0 port 0x3bc-0x3bf: polled
sb0 at isa0 port 0x220-0x237 irq 5 drq 1: dsp v3.01
midi0 at sb0: <SB MIDI UART>
audio0 at sb0: half duplex
opl0 at sb0: model OPL3
midi at opl0 not configured
pckbc0 at isa0 port 0x60-0x64
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard
opms0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
pcppi0 at isa0 port 0x61
sysbeep0 at pcppi0
npx0 at isa0 port 0xf0-0xff: using exception 16
fdc0 at isa0 port 0x3f0-0x3f7 irq 6 drq 2
pcic0 at isa0 port 0x3e0-0x3e1 iomem 0xd0000-0xd3fff: using irq 9
pcic0: controller 0 (Cirrus PD672X) has sockets A and B
pcmcia0 at pcic0 controller 0 socket 0
pcmcia0: CIS version PCMCIA 2.0 or 2.1
pcmcia0: CIS info: 3Com Corporation, 3C589D, TP/BNC LAN Card Ver. 2a, =
000002
pcmcia0: Manufacturer code 0x101, product 0x589
pcmcia0: function 0: network adapter, ccr addr 10000 mask 3
pcmcia0: function 0, config table entry 1: I/O card; irq mask ffff; =
iomask 4, iospace 0-f; rdybsy_active wp_active bvd_active io8 io16 =
irqlevel
pcmcia0: function 0, config table entry 3: I/O card; irq mask ffff; =
iomask 4, iospace 0-f; rdybsy_active wp_active bvd_active io8 io16 =
irqlevel
ep0 at pcmcia0 function 0 port 0x400-0x40f: 3Com 3c589 10Mbps Ethernet
ep0: address 00:10:4b:a2:66:3e, 8KB byte-wide FIFO, 5:3 Rx:Tx split
ep0: 10baseT, 10base5, 10base2 (default 10baseT)
pcmcia1 at pcic0 controller 0 socket 1
pcmcia1: CIS version PCMCIA 2.0 or 2.1
pcmcia1: CIS info: Adaptec, Inc., APA-1460 SCSI Host Adapter, Version =
0.01
pcmcia1: Manufacturer code 0x12f, product 0x2
pcmcia1: function 0: unspecified, ccr addr 2000 mask 1
pcmcia1: function 0, config table entry 9: I/O card; irq mask 1e00; =
iomask a, iospace 340-35f; rdybsy_active wp_active bvd_active io16 =
irqlevel
pcmcia1: function 0, config table entry 8: I/O card; irq mask 1e00; =
iomask a, iospace 140-15f; rdybsy_active wp_active bvd_active io16 =
irqlevel
aic0 at pcmcia1 function 0 port 0x340-0x35f: Adaptec APA-1460/B SCSI =
Host Adapter
scsibus0 at aic0: 8 targets, 8 luns per target
pcmcia1: card irq 10
apm0 at mainbus0: Power Management spec V1.1
apm0: battery life expectancy: 100%
apm0: A/C state: on
apm0: battery charge state: high
apm0: battery life expectancy: 100%
apm0: A/C state: on
apm0: battery charge state: high
biomask 4040 netmask 4040 ttymask 5242
<3>stray interrupt 10
<3>stray interrupt 10
wscons: wskbd0 glued to wsdisplay0 (console)
boot device: wd0
root on wd0a dumps on wd0b
root file system type: ffs
pcmcia0: card irq 10

------=_NextPart_000_000B_01BE8B4B.2DB99E20--