Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 24 Mar 2000 16:30:04 -0500
From:      Bill Fumerola <billf@chc-chimes.com>
To:        mobile@FreeBSD.org
Cc:        imp@FreeBSD.org, Brandon Martus <bmartus@jade.chc-chimes.com>
Subject:   pcic hangups
Message-ID:  <20000324163004.C25438@jade.chc-chimes.com>

next in thread | raw e-mail | index | archive | help
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: <PLIP network interface> 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 <TOSHIBA MK4313MAT> [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: <AcerLabs M1541 (Aladdin-V) PCI host bridge> on motherboard
pci0: <PCI bus> on pcib0
isab0: <AcerLabs M1533 portable PCI-ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
pcic0: <VLSI 82C146> at port 0x3e0 iomem 0xd0000 irq 10 on isa0
pcic0: management irq 10
pccard0: <PC Card bus -- kludge version> on pcic0
pccard1: <PC Card bus -- kludge version> 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: <PCI bus> on pcib0
pci0: <unknown card> (vendor=0x125d, dev=0x1969) at 9.0 irq 11
pci0: <unknown card> (vendor=0x11c1, dev=0x0441) at 15.0 irq 10
pci0: <AcerLabs M5237 (Aladdin-V) USB controller> 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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000324163004.C25438>