Bug 29983

Summary: Problem with "TI PCI-1250 PCI-CardBus Bridge" on IBM ThinkPad 560X
Product: Base System Reporter: yury <yury>
Component: kernAssignee: Warner Losh <imp>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Unspecified   
Hardware: Any   
OS: Any   

Description yury 2001-08-23 10:50:01 UTC
PC-CARD slots doesn't initialize. Look at dmsg.boot:

Copyright (c) 1992-2001 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD 4.3-20010822-STABLE #0: Wed Aug 22 15:43:05 GMT 2001
    root@shalob.anysoft.com.ru:/usr/src/sys/compile/GENERIC
Timecounter "i8254"  frequency 1193182 Hz
CPU: Pentium/P55C (quarter-micron) (231.78-MHz 586-class CPU)
  Origin = "GenuineIntel"  Id = 0x581  Stepping = 1
  Features=0x8001bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX>
real memory  = 66912256 (65344K bytes)
avail memory = 60514304 (59096K bytes)
Preloaded elf kernel "kernel.GENERIC" at 0xc0488000.
Intel Pentium detected, installing workaround for F00F bug
md0: Malloc disk
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
isab0: <Intel 82371AB PCI to ISA bridge> at device 1.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel PIIX4 ATA33 controller> port 0xfcf0-0xfcff at device 1.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
uhci0: <Intel 82371AB/EB (PIIX4) USB controller> port 0x9000-0x901f irq 11 at device 1.2 on pci0
usb0: <Intel 82371AB/EB (PIIX4) USB controller> on uhci0
usb0: USB revision 1.0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
chip1: <Intel 82371AB Power management controller> port 0xefa0-0xefaf at device 1.3 on pci0
pci_cfgintr: BIOS 0.00 doesn't support interrupt routing
pcic0: <TI PCI-1250 PCI-CardBus Bridge> mem 0x20822000-0x20822fff at device 2.0 on pci0
pcic0: TI12XX PCI Config Reg: [ring enable][speaker enable][pwr save][CSC parallel isa irq]
pci_cfgintr: BIOS 0.00 doesn't support interrupt routing
pcic0: Failed to allocate managment irq
device_probe_and_attach: pcic0 attach returned 5
pci_cfgintr: BIOS 0.00 doesn't support interrupt routing
pcic0: <TI PCI-1250 PCI-CardBus Bridge> mem 0x20821000-0x20821fff at device 2.1 on pci0
pcic0: TI12XX PCI Config Reg: [ring enable][speaker enable][pwr save][CSC parallel isa irq]
pci_cfgintr: BIOS 0.00 doesn't support interrupt routing
pcic0: Failed to allocate managment irq
device_probe_and_attach: pcic0 attach returned 5
pci0: <NeoMagic MagicGraph 128XD SVGA controller> at 3.0 irq 11
orm0: <Option ROM> at iomem 0xc0000-0xc9fff on isa0
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model Generic PS/2 mouse, device ID 0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
ppc0: cannot reserve I/O port range
ata0-slave: ata_command: timeout waiting for intr
ata0-slave: identify failed
ad0: 3909MB <IBM-DTCA-24090> [7944/16/63] at ata0-master UDMA33
Mounting root from ufs:/dev/ad0s2a


Elso, with another kernel (without USB support compiled in) I have
a kernel panic when try "kldload usb":

uhci0: <Intel 82371AB/EB (PIIX4) USB controller> port 0x9000-0x901f irq 11 at device 1.2 on pci0
usb0: <Intel 82371AB/EB (PIIX4) USB controller> on uhci0
usb0: USB revision 1.0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
pci_cfgintr: BIOS 0.00 doesn't support interrupt routing
pcic2: <TI PCI-1250 PCI-CardBus Bridge> mem 0x20822000-0x20822fff at device 2.0 on pci0
panic: resource_list_alloc: resource entry is busy
Comment 1 Bruce A. Mah freebsd_committer freebsd_triage 2002-01-12 18:54:54 UTC
State Changed
From-To: open->feedback

There have been a number of changes to the pcic support in 4-STABLE, 
is this still a problem?
Comment 2 Bruce A. Mah freebsd_committer freebsd_triage 2002-01-18 17:27:10 UTC
For the audit trail...

If memory serves me right, Jurij Ivliev wrote:
> Hi, Bruce!
> 
> On Sat, Jan 12, 2002 at 10:55:51AM -0800, Bruce A. Mah wrote:
> > Synopsis: Problem with "TI PCI-1250 PCI-CardBus Bridge" on IBM ThinkPad 560
> X
> > 
> > State-Changed-From-To: open->feedback
> > State-Changed-By: bmah
> > State-Changed-When: Sat Jan 12 10:54:54 PST 2002
> > State-Changed-Why: 
> > There have been a number of changes to the pcic support in 4-STABLE,
> > is this still a problem?
> > 
> > http://www.FreeBSD.org/cgi/query-pr.cgi?pr=29983
> OK. Pcic works now. But PCI interrupt routing doesn't work:
> 
> 
> Copyright (c) 1992-2002 The FreeBSD Project.
> Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
> 	The Regents of the University of California. All rights reserved.
> FreeBSD 4.4-20020109-STABLE #0: Wed Jan  9 21:34:46 GMT 2002
>     root@shask.office.anysoft.com.ru:/usr/obj/usr/src/sys/NB
> [...]
> bios32: Found BIOS32 Service Directory header at 0xc00fd800
> bios32: Entry = 0xfd820 (c00fd820)  Rev = 0  Len = 1
> pcibios: PCI BIOS entry at 0x0
> pnpbios: Found PnP BIOS data at 0xc00fe700
> pnpbios: Entry = f0000:e724  Rev = 1.0
> pnpbios: Event flag at 415
> Other BIOS signatures found:
> ACPI: 00000000
> [...]
> pci_open(1):	mode 1 addr port (0x0cf8) is 0x80000050
> pci_open(1a):	mode1res=0x80000000 (0x80000000)
> pci_cfgcheck:	device 0 [class=060000] [hdr=00] is there (id=71008086)
> pcibios: No call entry point
> [...]
> pcibios: No call entry point
> pci_cfgintr: BIOS 0.00 doesn't support interrupt routing
> pcic0: <TI PCI-1250 PCI-CardBus Bridge> mem 0x20822000-0x20822fff at device 2
> .0 on pci0
> pcibios: No call entry point
> pci_cfgintr: BIOS 0.00 doesn't support interrupt routing
> pcic0: No PCI interrupt routed, trying ISA.
> pcic0: Polling mode
> pcic0: TI12XX PCI Config Reg: [ring enable][speaker enable][pwr save][CSC par
> allel isa irq]
> pcic0: PCI Configuration space:
>   0x00: 0xac16104c 0x02100007 0x06070002 0x0082a808 
>   0x10: 0x20822000 0x020000a0 0xb0030100 0x00000000 
>   0x20: 0x00000000 0x00000000 0x00000000 0x00000000 
>   0x30: 0x00000000 0x00000000 0x00000000 0x07e001ff 
>   0x40: 0x00921014 0x00000001 0x00000000 0x00000000 
>   0x50: 0x00000000 0x00000000 0x00000000 0x00000000 
>   0x60: 0x00000000 0x00000000 0x00000000 0x00000000 
>   0x70: 0x00000000 0x00000000 0x00000000 0x00000000 
>   0x80: 0x00449060 0x00000000 0x01018148 0xfba97543 
>   0x90: 0x616282c0 0x00000000 0x00000000 0x00000000 
>   0xa0: 0x7e210001 0x00800000 0x00000000 0x00000000 
>   0xb0: 0x00000000 0x00000000 0x00000000 0x00000000 
>   0xc0: 0x00000000 0x00000000 0x00000000 0x00000000 
>   0xd0: 0x00000000 0x00000000 0x00000000 0x00000000 
>   0xe0: 0x00000000 0x00000000 0x00000000 0x00000000 
>   0xf0: 0x00000000 0x00000000 0x00000000 0x00000000 
> pccard0: <PC Card bus (classic)> on pcic0
> pcibios: No call entry point
> pci_cfgintr: BIOS 0.00 doesn't support interrupt routing
> pcic1: <TI PCI-1250 PCI-CardBus Bridge> mem 0x20821000-0x20821fff at device 2
> .1 on pci0
> pcibios: No call entry point
> pci_cfgintr: BIOS 0.00 doesn't support interrupt routing
> pcic1: No PCI interrupt routed, trying ISA.
> pcic1: Polling mode
> pcic1: TI12XX PCI Config Reg: [ring enable][speaker enable][pwr save][CSC par
> allel isa irq]
> pcic1: PCI Configuration space:
>   0x00: 0xac16104c 0x02100007 0x06070002 0x0082a808 
>   0x10: 0x20821000 0x020000a0 0xb0060400 0x00000000 
>   0x20: 0x00000000 0x00000000 0x00000000 0x00000000 
>   0x30: 0x00000000 0x00000000 0x00000000 0x07e002ff 
>   0x40: 0x00921014 0x00000001 0x00000000 0x00000000 
>   0x50: 0x00000000 0x00000000 0x00000000 0x00000000 
>   0x60: 0x00000000 0x00000000 0x00000000 0x00000000 
>   0x70: 0x00000000 0x00000000 0x00000000 0x00000000 
>   0x80: 0x00449060 0x00000000 0x01018148 0xfba97543 
>   0x90: 0x616282c0 0x00000000 0x00000000 0x00000000 
>   0xa0: 0x7e210001 0x00800000 0x00000000 0x00000000 
>   0xb0: 0x00000000 0x00000000 0x00000000 0x00000000 
>   0xc0: 0x00000000 0x00000000 0x00000000 0x00000000 
>   0xd0: 0x00000000 0x00000000 0x00000000 0x00000000 
>   0xe0: 0x00000000 0x00000000 0x00000000 0x00000000 
>   0xf0: 0x00000000 0x00000000 0x00000000 0x00000000 
> pccard1: <PC Card bus (classic)> on pcic1
> [...]
> pcic0: Autodetected 5.0V card
> pccard: card inserted, slot 0
> pcic0: reset 1 int is 0 stat is c
> pcic0: reset 2 int is 60 stat is c
> pcic0: reset 3 int is 60 stat is c
> [...]
> start_init: trying /sbin/init
> 
> As a result of meditation around src/sys/i386/isa/pci_cfgreg.c and 
> src/sys/i386/i386/bios.c I think that's because of PCI BIOS present, but
> its entry point (as I understand "offset" in terms of "seg:offs") is zero.
> 
> /yury
Comment 3 Bruce A. Mah freebsd_committer freebsd_triage 2002-01-18 17:29:06 UTC
State Changed
From-To: feedback->open

Got feedback (appended to audit trail).  pcic works, but PCI interrupt 
routing doesn't. 


Comment 4 Bruce A. Mah freebsd_committer freebsd_triage 2002-01-18 17:29:06 UTC
Responsible Changed
From-To: freebsd-bugs->imp

Warner, could you take a look at this?  The original problem has been 
fixed, but there are apparently still some issues with PCI interrupt 
routing.
Comment 5 Warner Losh freebsd_committer freebsd_triage 2007-07-10 22:40:36 UTC
State Changed
From-To: open->closed

OLDCARD bugs are no longer relevant