From owner-freebsd-questions@FreeBSD.ORG Tue Sep 23 15:32:44 2003 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6EFF116A4B3 for ; Tue, 23 Sep 2003 15:32:44 -0700 (PDT) Received: from wattres.Watt.COM (wattres.watt.com [66.93.133.130]) by mx1.FreeBSD.org (Postfix) with ESMTP id 34F1843FBF for ; Tue, 23 Sep 2003 15:32:43 -0700 (PDT) (envelope-from steve@Watt.COM) Received: (from steve@localhost) by wattres.Watt.COM (8.12.9/8.12.9) id h8NMWg0U011791 for questions@freebsd.org; Tue, 23 Sep 2003 15:32:42 -0700 (PDT) (envelope-from steve) Message-Id: <200309232232.h8NMWg0U011791@wattres.Watt.COM> From: steve@Watt.COM (Steve Watt) Date: Tue, 23 Sep 2003 15:32:42 -0700 X-Mailer: Mail User's Shell (7.2.6 beta(5) jp(8) 11/23/00) To: questions@freebsd.org Subject: PCI bridges & interrupts X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Sep 2003 22:32:44 -0000 I'm having a strange problem with interrupts, PCI bridges, and FreeBSD 4-STABLE (cvsupped from a few months ago). The motherboard is a Supermicro X5DL8-GG, dual-Xeon capable (only one is populated). The BIOS is AMIBIOS 7.00.00. The BIOS settings have PnP OS set to NO, ACPI OS is YES ('cause FreeBSD-CURRENT was once installed), and power management is all disabled. The company I'm working for has a rather complex PCI board that is much larger than a normal card, and has its own power. The board can be plugged directly into a slot in the motherboard, but for physical and electrical (PCI 66) reasons wants to be attached via a bridge riser card that we have also developed. Everything on the board works when directly connected to the host, except that we can't go 66MHz and we can't close the case. With the riser card, *almost* everything works, except for interrupts. I can see the interrupt line low *on the card edge connector on the motherboard*, but it's not acknowledged, and our driver's ISR doesn't run. We've throttled the riser card to 33MHz to eliminate that possibility. What follows is the verbose dmesg from the boot up without the riser (bridge), followed by diffs when booted with the riser. I'm looking for clues. It's about >< that far from working right, and this almost looks like a FreeBSD issue. Buddy, can you spare a clue? Why isn't the ISR running? - - - 8< - - - dmesg.without-bridge Copyright (c) 1992-2003 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.8-STABLE #35: Fri Aug 22 16:16:01 PDT 2003 root@stevedev.asicdesigners.com:/usr/src/sys/compile/CATP Calibrating clock(s) ... TSC clock: 2399054672 Hz, i8254 clock: 1193051 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: Intel(R) Xeon(TM) CPU 2.40GHz (2399.33-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0xf27 Stepping = 7 Features=0xbfebfbff real memory = 1073676288 (1048512K bytes) Physical memory chunk(s): 0x00001000 - 0x0009efff, 647168 bytes (158 pages) 0x005ac000 - 0x3ffe7fff, 1067696128 bytes (260668 pages) avail memory = 1038774272 (1014428K bytes) bios32: Found BIOS32 Service Directory header at 0xc00fdb20 bios32: Entry = 0xfdb30 (c00fdb30) Rev = 0 Len = 1 pcibios: PCI BIOS entry at 0xdb51 pnpbios: Found PnP BIOS data at 0xc00f4280 pnpbios: Entry = f0000:32c4 Rev = 1.0 Other BIOS signatures found: ACPI: 000ff900 Preloaded elf kernel "kernel" at 0xc0585000. Pentium Pro MTRR support enabled Creating DISK md0 md0: Malloc disk Math emulator present pci_open(1): mode 1 addr port (0x0cf8) is 0x80041900 pci_open(1a): mode1res=0x80000000 (0x80000000) pci_cfgcheck: device 0 [class=060000] [hdr=80] is there (id=00141166) Using $PIR table, 11 entries at 0xc00f4880 pcib-: pcib0 exists, using next available unit number pcib-: pcib0 exists, using next available unit number pcib-: pcib0 exists, using next available unit number pcib-: pcib1 exists, using next available unit number pcib-: pcib2 exists, using next available unit number pcib-: pcib3 exists, using next available unit number pcib-: pcib4 exists, using next available unit number npx0: on motherboard npx0: INT 16 interface pcib0: on motherboard found-> vendor=0x1166, dev=0x0014, revid=0x31 class=06-00-00, hdrtype=0x00, mfdev=1 subordinatebus=0 secondarybus=0 found-> vendor=0x1166, dev=0x0014, revid=0x00 class=06-00-00, hdrtype=0x00, mfdev=1 subordinatebus=0 secondarybus=0 found-> vendor=0x1166, dev=0x0014, revid=0x00 class=06-00-00, hdrtype=0x00, mfdev=1 subordinatebus=0 secondarybus=0 found-> vendor=0x1002, dev=0x4752, revid=0x27 class=03-00-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 intpin=a, irq=0 map[10]: type 1, range 32, base fd000000, size 24 map[14]: type 1, range 32, base 00008800, size 8 map[18]: type 1, range 32, base fe5ff000, size 12 found-> vendor=0x8086, dev=0x100e, revid=0x02 class=02-00-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 intpin=a, irq=9 map[10]: type 1, range 32, base fe5a0000, size 17 map[18]: type 1, range 32, base 00008400, size 6 found-> vendor=0x1166, dev=0x0201, revid=0x93 class=06-01-00, hdrtype=0x00, mfdev=1 subordinatebus=0 secondarybus=0 found-> vendor=0x1166, dev=0x0212, revid=0x93 class=01-01-8a, hdrtype=0x00, mfdev=1 subordinatebus=0 secondarybus=0 map[10]: type 1, range 32, base 000001f0, size 3 map[14]: type 1, range 32, base 000003f4, size 2 map[18]: type 1, range 32, base 00000170, size 3 map[1c]: type 1, range 32, base 00000374, size 2 map[20]: type 1, range 32, base 0000ffa0, size 4 found-> vendor=0x1166, dev=0x0220, revid=0x05 class=0c-03-10, hdrtype=0x00, mfdev=1 subordinatebus=0 secondarybus=0 intpin=a, irq=10 map[10]: type 1, range 32, base fe5fe000, size 12 found-> vendor=0x1166, dev=0x0225, revid=0x00 class=06-00-00, hdrtype=0x00, mfdev=1 subordinatebus=0 secondarybus=0 found-> vendor=0x1166, dev=0x0101, revid=0x03 class=06-00-00, hdrtype=0x00, mfdev=1 subordinatebus=0 secondarybus=0 found-> vendor=0x1166, dev=0x0101, revid=0x03 class=06-00-00, hdrtype=0x00, mfdev=1 subordinatebus=0 secondarybus=0 found-> vendor=0x1166, dev=0x0101, revid=0x03 class=06-00-00, hdrtype=0x00, mfdev=1 subordinatebus=0 secondarybus=0 found-> vendor=0x1166, dev=0x0101, revid=0x03 class=06-00-00, hdrtype=0x00, mfdev=1 subordinatebus=0 secondarybus=0 pci0: on pcib0 pci0: (vendor=0x1002, dev=0x4752) at 2.0 irq 0 em0: port 0x8400-0x843f mem 0xfe5a0000-0xfe5bffff irq 9 at device 4.0 on pci0 bpf: em0 attached em0: Speed:100 Mbps Duplex:Full isab0: at device 15.0 on pci0 isa0: on isab0 atapci0: port 0xffa0-0xffaf,0x374-0x377,0x170-0x177,0x3f4-0x3f7,0x1f0-0x1f7 at device 15.1 on pci0 ata0: iobase=0x01f0 altiobase=0x03f6 bmaddr=0xffa0 ata0: mask=03 ostat0=50 ostat2=00 ata0-master: ATAPI 00 00 ata0-slave: ATAPI 00 00 ata0: mask=03 stat0=50 stat1=00 ata0-master: ATA 01 a5 ata0: devices=01 ata0: at 0x1f0 irq 14 on atapci0 ata1: iobase=0x0170 altiobase=0x0376 bmaddr=0xffa8 ata1: mask=01 ostat0=50 ostat2=ff ata1-master: ATAPI 14 eb ata1: mask=01 stat0=00 stat1=00 ata1: devices=04 ata1: at 0x170 irq 15 on atapci0 ohci0: mem 0xfe5fe000-0xfe5fefff irq 10 at device 15.2 on pci0 ohci0: (New OHCI DeviceId=0x02201166) usb0: OHCI version 1.0, legacy support usb0: SMM does not respond, resetting usb0: on ohci0 usb0: USB revision 1.0 uhub0: (0x1166) OHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 4 ports with 4 removable, self powered pcib1: on motherboard found-> vendor=0x14e4, dev=0x16a7, revid=0x02 class=02-00-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 intpin=a, irq=5 map[10]: type 1, range 64, base fe6f0000, size 16 pci1: on pcib1 bge0: mem 0xfe6f0000-0xfe6fffff irq 5 at device 3.0 on pci1 bge0: Ethernet address: 00:30:48:52:4b:95 miibus0: on bge0 brgphy0: on miibus0 brgphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseTX, 1000baseTX-FDX, auto bpf: bge0 attached pcib2: on motherboard pci2: on pcib2 pcib3: on motherboard found-> vendor=0x1425, dev=0x0005, revid=0x00 class=02-00-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 intpin=a, irq=11 map[10]: type 1, range 64, base fe8ff000, size 12 pci3: on pcib3 PE PROBE: Found a { company board } device_id(5) device_subid(0) pe0 mem 0xfe8ff000-0xfe8fffff irq 11 at device 2.0 on pci3 {company}(0): All subsystems successfully initialized. bpf: pe0 attached cat_ifnet_register: port 0, 1 interfaces {company}(0): Registered ifp(0xc51a3800) pcib4: on motherboard found-> vendor=0x9005, dev=0x801f, revid=0x03 class=01-00-00, hdrtype=0x00, mfdev=1 subordinatebus=0 secondarybus=0 intpin=a, irq=11 map[10]: type 1, range 32, base 0000e000, size 8 map[14]: type 1, range 64, base febfc000, size 13 map[1c]: type 1, range 32, base 0000d800, size 8 found-> vendor=0x9005, dev=0x801f, revid=0x03 class=01-00-00, hdrtype=0x00, mfdev=1 subordinatebus=0 secondarybus=0 intpin=b, irq=11 map[10]: type 1, range 32, base 0000e800, size 8 map[14]: type 1, range 64, base febfe000, size 13 map[1c]: type 1, range 32, base 0000e400, size 8 pci4: on pcib4 ahd0: port 0xd800-0xd8ff,0xe000-0xe0ff mem 0xfebfc000-0xfebfdfff irq 11 at device 3.0 on pci4 ahd0: Defaulting to MEMIO on ahd0: Reading VPD from SEEPROM...ahd0: VPD parsing successful ahd0: Reading SEEPROM...done. ahd0: STPWLEVEL is on ahd0: Manual Primary Termination ahd0: Manual Secondary Termination ahd0: Primary High byte termination Enabled ahd0: Primary Low byte termination Enabled ahd0: Secondary High byte termination Disabled ahd0: Secondary Low byte termination Disabled ahd0: Downloading Sequencer Program... 710 instructions downloaded ahd0: Features 0x101, Bugs 0x8fffff, Flags 0x43f1 using shared irq11. aic7902: Ultra320 Wide Channel A, SCSI Id=7, PCI-X 67-100Mhz, 512 SCBs ahd1: port 0xe400-0xe4ff,0xe800-0xe8ff mem 0xfebfe000-0xfebfffff irq 11 at device 3.1 on pci4 ahd1: Defaulting to MEMIO on ahd1: Reading VPD from SEEPROM...ahd1: VPD parsing successful ahd1: Reading SEEPROM...done. ahd1: STPWLEVEL is on ahd1: Manual Primary Termination ahd1: Manual Secondary Termination ahd1: Primary High byte termination Enabled ahd1: Primary Low byte termination Enabled ahd1: Secondary High byte termination Disabled ahd1: Secondary Low byte termination Disabled ahd1: Downloading Sequencer Program... 710 instructions downloaded ahd1: Features 0x101, Bugs 0x8fffff, Flags 0x43f0 aic7902: Ultra320 Wide Channel B, SCSI Id=7, PCI-X 67-100Mhz, 512 SCBs pcib5: on motherboard pci5: on pcib5 pcib6: on motherboard pci6: on pcib6 pcib7: on motherboard pci7: on pcib7 ex_isa_identify() ata-: ata0 exists, using next available unit number ata-: ata1 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: