From owner-freebsd-mobile Fri Mar 24 13:30:13 2000 Delivered-To: freebsd-mobile@freebsd.org Received: from jade.chc-chimes.com (jade.chc-chimes.com [216.28.46.6]) by hub.freebsd.org (Postfix) with ESMTP id C972937BACB; Fri, 24 Mar 2000 13:30:05 -0800 (PST) (envelope-from billf@jade.chc-chimes.com) Received: by jade.chc-chimes.com (Postfix, from userid 1001) id B0D331C64; Fri, 24 Mar 2000 16:30:04 -0500 (EST) Date: Fri, 24 Mar 2000 16:30:04 -0500 From: Bill Fumerola To: mobile@FreeBSD.org Cc: imp@FreeBSD.org, Brandon Martus Subject: pcic hangups Message-ID: <20000324163004.C25438@jade.chc-chimes.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0i X-Operating-System: FreeBSD 3.2-RELEASE i386 Sender: owner-freebsd-mobile@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Warner, -mobile, A friend of mine recently let me poke around on his laptop after he said really freaky things were happening with his laptop. Here's the scoop: There is only one (physical) slot on this laptop. The controller may support 2, the controller may think it has two, but I assure you there is one slot. If a card is in this physical slot during boot, the boot hangs: --- interrupt, eip = 0xc01ddd77, esp = 0xc0269fa0, ebp = 0xc0269fb0 --- putb1(c028cfc0,3,60,c028cfc0,3) at putb1+0x23 pcic_reset(c0829800,40000000,c04b0c90,0,ffffffff) at pcic_reset+0x64 softclock(0,c0236bce,c0232de7,0,0) at softclock+0xd1 splz_swi(5,58c,1,8021bf,68747541) at splz_swi+0x14 idle_loop() at idle_loop+0x13 Which after applying my kernel-stupid mind to pcic.c tells me that during pcic_reset() timeout() is never returning or is in some inifinite loop or another equally bad thing. It gets better. If during this infinite loop I remove and insert the card (which I assume would change the code path in the switch statement) everything boots up. The card (which is a valid card, I've tried several, etc etc) still isn't reckognized properly, but that's a whole different issue. plip0: on ppbus0 pccard: card inserted, slot 0 pccard: card inserted, slot 1 [ wait a long time, realize nothing is going to happen ] Debugger("manual escape to debugger") [ poke around, traceback above, etc ] db> continue [ wait a long time, realize nothing is going to happen ] pccard: card removed, slot 0 (I just removed the card) ata1-slave: ata_command: timeout waiting for intr ata1-slave: identify failed ad0: 4126MB [8944/15/63] at ata0-master using UDMA33 [ boot continues as normal ..] I think we need a quirk entry for this controller that says "no! you only have one slot, don't try to do the impossible" or something, as I think thats whats confusing it. pcib0: on motherboard pci0: on pcib0 isab0: at device 7.0 on pci0 isa0: on isab0 pcic0: at port 0x3e0 iomem 0xd0000 irq 10 on isa0 pcic0: management irq 10 pccard0: on pcic0 pccard1: on pcic0 -- Bill Fumerola - Network Architect Computer Horizons Corp - CVM e-mail: billf@chc-chimes.com / billf@FreeBSD.org Office: 800-252-2421 x128 / Cell: 248-761-7272 PS. I already know what these cards are and just haven't added them to pcisupport, but why are there a bunch of 'pci0's, shouldn't they be pci0,pci1,...pciN. I'm demonstrating newbus ignorance here, but oh well. pci0: on pcib0 pci0: (vendor=0x125d, dev=0x1969) at 9.0 irq 11 pci0: (vendor=0x11c1, dev=0x0441) at 15.0 irq 10 pci0: at 20.0 irq 5 PPS FreeBSD 4.0-RELEASE #1: Fri Mar 24 13:33:00 EST 2000 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-mobile" in the body of the message