Date: Sat, 25 Aug 2001 20:48:29 -0700 From: unsafe at any speed <erich@ucsd.edu> To: Warner Losh <imp@harmony.village.org> Cc: freebsd-mobile@FreeBSD.ORG Subject: Re: ongoing Thinkpad 560X pccard problems Message-ID: <3B88718D.5000507@ucsd.edu> References: <3B880B5A.6030104@ucsd.edu> <200108252155.f7PLt5W06955@harmony.village.org>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------060601010604000807060400 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit It tries to assign IRQ 11 now, but still can't, with the version check commented out. A boot -v dmesg with this patch is attached below. Note near the beginning it says the pcibios is found at address 0x0! Eric Warner Losh wrote: > In message <3B880B5A.6030104@ucsd.edu> unsafe at any speed writes: > : pci_cfgintr: BIOS 0.00 doesn't support interrupt routing > : pcic0: Failed to allocate managment irq > > Hmmm, the following has a minor chance of working. Please let me > know. It comments out the version check. Version 0.0 is completely > F'd in the head and means that there's no PCI BIOS, the BIOS isn't > returning the right signature or the get version call is returning an > error. > > Warner > > Index: pci_cfgreg.c > =================================================================== > RCS file: /home/imp/FreeBSD/CVS/src/sys/i386/isa/Attic/pci_cfgreg.c,v > retrieving revision 1.1.2.3 > diff -u -r1.1.2.3 pci_cfgreg.c > --- pci_cfgreg.c 2001/08/21 20:13:54 1.1.2.3 > +++ pci_cfgreg.c 2001/08/25 21:51:14 > @@ -103,7 +103,7 @@ > * Look for the interrupt routing table. > */ > /* We use PCI BIOS's PIR table if it's available */ > - if (pcibios_get_version() >= 0x0210 && pt == NULL && > + if (/* pcibios_get_version() >= 0x0210 && */ pt == NULL && > (sigaddr = bios_sigsearch(0, "$PIR", 4, 16, 0)) != 0) { > pt = (struct PIR_table *)(uintptr_t)BIOS_PADDRTOVADDR(sigaddr); > for (cv = (u_int8_t *)pt, ck = 0, i = 0; i < (pt->pt_header.ph_length); i++) { > @@ -212,6 +212,7 @@ > struct bios_regs args; > u_int16_t v; > > +#if 0 > v = pcibios_get_version(); > if (v < 0x0210) { > printf( > @@ -219,6 +220,7 @@ > (v & 0xff00) >> 8, v & 0xff); > return (255); > } > +#endif > if ((bus < 0) || (bus > 255) || (device < 0) || (device > 255) || > (pin < 1) || (pin > 4)) > return(255); > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-mobile" in the body of the message > > --------------060601010604000807060400 Content-Type: text/plain; name="dmesg.0825.-v.pciverpatch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="dmesg.0825.-v.pciverpatch" 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.4-RC #9: Sat Aug 25 20:19:19 PDT 2001 root@palomar:/usr/src/sys/compile/PALOMAR Calibrating clock(s) ... TSC clock: 231767084 Hz, i8254 clock: 1193139 Hz CLK_USE_I8254_CALIBRATION not specified - using default frequency Timecounter "i8254" frequency 1193182 Hz CLK_USE_TSC_CALIBRATION not specified - using old calibration method 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 = 100466688 (98112K bytes) Physical memory chunk(s): 0x00001000 - 0x0009efff, 647168 bytes (158 pages) 0x0036b000 - 0x05fc7fff, 96849920 bytes (23645 pages) avail memory = 94425088 (92212K bytes) 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 Preloaded elf kernel "kernel" at 0xc0345000. Preloaded userconfig_script "/boot/kernel.conf" at 0xc03450a8. Intel Pentium detected, installing workaround for F00F bug md0: Malloc disk Creating DISK md0 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) Using $PIR table, 4 entries at 0xc00fcc40 apm0: <APM BIOS> on motherboard apm: found APM BIOS v1.2, connected at v1.2 npx0: <math processor> on motherboard npx0: INT 16 interface i586_bzero() bandwidth = 174003828 bytes/sec bzero() bandwidth = 711237553 bytes/sec pcib0: <Host to PCI bridge> on motherboard found-> vendor=0x8086, dev=0x7100, revid=0x01 class=06-00-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 found-> vendor=0x8086, dev=0x7110, revid=0x01 class=06-80-00, hdrtype=0x00, mfdev=1 subordinatebus=0 secondarybus=0 found-> vendor=0x8086, dev=0x7111, revid=0x01 class=01-01-80, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 map[20]: type 1, range 32, base 0000fcf0, size 4 found-> vendor=0x8086, dev=0x7112, revid=0x01 class=0c-03-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 intpin=d, irq=11 map[20]: type 1, range 32, base 00009000, size 5 found-> vendor=0x8086, dev=0x7113, revid=0x01 class=06-80-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 map[90]: type 1, range 32, base 0000efa0, size 4 found-> vendor=0x104c, dev=0xac16, revid=0x02 class=06-07-00, hdrtype=0x02, mfdev=1 subordinatebus=3 secondarybus=1 intpin=a, irq=255 map[10]: type 1, range 32, base 20822000, size 12 found-> vendor=0x104c, dev=0xac16, revid=0x02 class=06-07-00, hdrtype=0x02, mfdev=1 subordinatebus=6 secondarybus=4 intpin=b, irq=255 map[10]: type 1, range 32, base 20821000, size 12 found-> vendor=0x10c8, dev=0x0004, revid=0x00 class=03-00-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 intpin=a, irq=11 map[10]: type 1, range 32, base 08000000, size 24 map[14]: type 1, range 32, base 09200000, size 21 map[18]: type 1, range 32, base 09000000, size 20 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: iobase=0x01f0 altiobase=0x03f6 bmaddr=0xfcf0 ata0: mask=03 status0=50 status1=50 ata0: mask=03 ostat0=50 ostat2=50 ata0-master: ATAPI probe a=00 b=00 ata0-slave: ATAPI probe a=00 b=00 ata0: mask=03 status0=50 status1=00 ata0-master: ATA probe a=01 b=a5 ata0-slave: ATA probe a=a5 b=a5 ata0: devices=03 ata0: at 0x1f0 irq 14 on atapci0 ata1: iobase=0x0170 altiobase=0x0376 bmaddr=0xfcf8 ata1: mask=00 status0=ff status1=ff ata1: probe allocation failed 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_search: linked (60) to configured irq 0 at 0:1:0 pci_cfgintr: ROUTE_INTERRUPT failed 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_search: linked (60) to configured irq 0 at 0:1:0 pci_cfgintr: ROUTE_INTERRUPT failed pcic0: Failed to allocate managment irq device_probe_and_attach: pcic0 attach returned 5 pci_cfgintr_virgin: using routable PCI-only interrupt 11 pci_cfgintr: ROUTE_INTERRUPT failed 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_virgin: using routable PCI-only interrupt 11 pci_cfgintr: ROUTE_INTERRUPT failed pcic0: Failed to allocate managment irq device_probe_and_attach: pcic0 attach returned 5 pci0: <NeoMagic MagicGraph 128XD SVGA controller> (vendor=0x10c8, dev=0x0004) at 3.0 irq 11 ata-: ata0 exists, using next available unit number Trying Read_Port at 203 Trying Read_Port at 243 Trying Read_Port at 283 Trying Read_Port at 2c3 Trying Read_Port at 303 Trying Read_Port at 343 Trying Read_Port at 383 Trying Read_Port at 3c3 isa_probe_children: disabling PnP devices isa_probe_children: probing non-PnP devices orm0: <Option ROM> at iomem 0xc0000-0xc9fff on isa0 ata2 failed to probe at port 0x1f0 irq 14 on isa0 atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0 atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0 atkbd: the current kbd controller command byte 0065 atkbd: keyboard ID 0x54ab (2) kbd0 at atkbd0 kbd0: atkbd0, AT 101/102 (2), config:0x1, flags:0x3d0000 psm0: current command byte:0065 psm0: <PS/2 Mouse> irq 12 on atkbdc0 psm0: model Generic PS/2 mouse, device ID 0-00, 2 buttons psm0: config:00000000, flags:00000000, packet size:3 psm0: syncmask:c0, syncbits:00 vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 fb0: vga0, vga, type:VGA (5), flags:0x7007f fb0: port:0x3c0-0x3df, crtc:0x3d4, mem:0xa0000 0x20000 fb0: init mode:24, bios mode:3, current mode:24 fb0: window:0xc00b8000 size:32k gran:32k, buf:0 size:32k VGA parameters upon power-up 50 18 10 00 00 00 03 00 02 67 5f 4f 50 82 55 81 bf 1f 00 4f 0d 0e 00 00 05 50 9c 8e 8f 28 1f 96 b9 a3 ff 00 01 02 03 04 05 14 07 38 39 3a 3b 3c 3d 3e 3f 0c 00 0f 08 00 00 00 00 00 10 0e 00 ff VGA parameters in BIOS for mode 24 50 18 10 00 10 00 03 00 02 67 5f 4f 50 82 55 81 bf 1f 00 4f 0d 0e 00 00 00 00 9c 8e 8f 28 1f 96 b9 a3 ff 00 01 02 03 04 05 14 07 38 39 3a 3b 3c 3d 3e 3f 0c 00 0f 08 00 00 00 00 00 10 0e 00 ff EGA/VGA parameters to be used for mode 24 50 18 10 00 10 00 03 00 02 67 5f 4f 50 82 55 81 bf 1f 00 4f 0d 0e 00 00 00 00 9c 8e 8f 28 1f 96 b9 a3 ff 00 01 02 03 04 05 14 07 38 39 3a 3b 3c 3d 3e 3f 0c 00 0f 08 00 00 00 00 00 10 0e 00 ff sc0: <System console> at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> sc0: fb0, kbd0, terminal emulator: sc (syscons terminal) pcic0 failed to probe at port 0x3e0 iomem 0xd0000 on isa0 sio0: irq maps: 0x1 0x11 0x1 0x1 sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 16550A mss_detect - chip revision 0x0a mss_detect() - Detected CS4236 pcm0: <CS4236> at port 0x52c-0x533,0xf8c-0xf94,0xe0e irq 5 drq 1 flags 0xa110 on isa0 pcm: setmap 3000, 1000; 0xc6922000 -> 3000 pcm: setmap 4000, 1000; 0xc6923000 -> 4000 isa_probe_children: probing PnP devices BIOS Geometries: 0:03df7f3f 0..991=992 cylinders, 0..127=128 heads, 1..63=63 sectors 0 accounted for Device configuration finished. bpf: lo0 attached bpf: faith0 attached IP packet filtering initialized, divert enabled, rule-based forwarding disabled, default to deny, logging disabled ata0-slave: ata_command: timeout waiting for intr ata0-slave: identify failed ata0-master: success setting UDMA2 on Intel chip Creating DISK ad0 ad0: <IBM-DTCA-24090/TC6IAB4A> ATA-3 disk at ata0-master ad0: 3909MB (8007552 sectors), 7944 cyls, 16 heads, 63 S/T, 512 B/S ad0: 16 secs/int, 1 depth queue, UDMA33 ad0: piomode=4 dmamode=2 udmamode=2 cblid=0 ad0: 3909MB <IBM-DTCA-24090> [7944/16/63] at ata0-master UDMA33 Mounting root from ufs:/dev/ad0s1a ad0s1: type 0xa5, start 63, end = 8007551, size 8007489 : OK start_init: trying /sbin/init --------------060601010604000807060400-- 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?3B88718D.5000507>