From owner-freebsd-smp Sat Apr 19 08:14:47 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id IAA21214 for smp-outgoing; Sat, 19 Apr 1997 08:14:47 -0700 (PDT) Received: from ceylon.informatik.uni-rostock.de (ceylon.informatik.uni-rostock.de [139.30.5.237]) by freefall.freebsd.org (8.8.5/8.8.5) with ESMTP id IAA21209 for ; Sat, 19 Apr 1997 08:14:42 -0700 (PDT) Received: from donau.informatik.uni-rostock.de (donau [139.30.7.135]) by ceylon.informatik.uni-rostock.de (8.8.5/8.8.5/relay2.1) with ESMTP id RAA26680; Sat, 19 Apr 1997 17:14:34 +0200 Received: (from gunther@localhost) by donau.informatik.uni-rostock.de (8.8.5/8.8.5/fin1.16) id RAA05104; Sat, 19 Apr 1997 17:14:32 +0200 (MET DST) Date: Sat, 19 Apr 1997 17:14:32 +0200 (MET DST) From: Gunther Hipper Message-Id: <199704191514.RAA05104@donau.informatik.uni-rostock.de> To: smp@csn.net, smp@freebsd.org Subject: Problem with DEC 21050 PCI/PCI bridge Cc: gunther@informatik.uni-rostock.de Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-MD5: 62lS/S6RWdooRaHpjmLeYw== Sender: owner-smp@freebsd.org X-Loop: FreeBSD.org Precedence: bulk Hi again ! Steve, or someone else with a GA-586DX, please answer: What BIOS-Version are you using on your GA-586DX ? Here is my mptable-output, and it is missing the 21050 PCI-to-PCI-bridge of my network adapter (a four port DEC 21140) ... maybe it is my BIOS ? > It does, and it does support the 3940 IF the motherboard knows how to handle > bridged PCI cards (the 3940 has a PCI bridge chip on it). This motherboard > is know to properly support the 3940 if correctly setup. Check your > BIOS for a setting that describes the MP spec level. It will give you > a choice between version 1.1 and 1.4. Set it to 1.4. Running at > version 1.1 will cause the 3940s to fail miserably. Again a search of the > SMP mail archive for 3940 should provide you with alot of info > on what we did to ensure that they work (and work with shared INTs). At this moment, I'm trying to get my patched driver up and running. It runs just fine when I disable APIC_IO/SMP_INVTBL (although I should'nt disable, I know, and shared IRQs are not the maximum idea). ;-) I also know that there's a problem concerning bridges. Now here is my mptable output and a dmesg of the (running) kernel with APIC_IO/SMP_INVTBL enabled. Result is an /kernel: tansmission timeout (as an interrupt problem). If I disable APIC_IO/SMP_INVTBL, the driver works fine and stable. Could someone give me help or any suggestions for a workaround ? Should I keep on with disabled APIC_IO/SMP_INVTBL or should I (try to) patch the secondary PCI bus into the kernel ? I also tried to set "options NBUS=3" (someone wrote this some time ago). Steve suggested a patch (in a "Re: troubles with smp kernel"). How could I patch the mp_machdep.c for my secondary bus ? Bye Gunther =============================================================================== MPTable, version 2.0.6 ------------------------------------------------------------------------------- MP Floating Pointer Structure: location: BIOS physical address: 0x000f0c80 signature: '_MP_' length: 16 bytes version: 1.1 checksum: 0xf4 mode: Virtual Wire ------------------------------------------------------------------------------- MP Config Table Header: physical address: 0x000f0c94 signature: 'PCMP' base table length: 292 version: 1.1 checksum: 0x31 OEM ID: 'OEM00000' Product ID: 'PROD00000000' OEM table pointer: 0x00000000 OEM table size: 0 entry count: 28 local APIC address: 0xfee00000 extended table length: 0 extended table checksum: 0 ------------------------------------------------------------------------------- MP Config Base Table Entries: -- 1 PCI -- I/O APICs: APIC ID Version State Address 2 0x11 usable 0xfec00000 -- I/O Ints: Type Polarity Trigger Bus ID IRQ APIC ID INT# ExtINT conforms conforms 0 0 2 0 INT conforms conforms 0 1 2 1 INT conforms conforms 0 0 2 2 INT conforms conforms 0 3 2 3 INT conforms conforms 0 4 2 4 INT conforms conforms 0 5 2 5 INT conforms conforms 0 6 2 6 INT conforms conforms 0 7 2 7 INT conforms conforms 0 8 2 8 INT conforms conforms 0 9 2 9 INT conforms conforms 0 10 2 10 INT conforms conforms 0 11 2 11 INT conforms conforms 0 12 2 12 INT conforms conforms 0 13 2 13 INT conforms conforms 0 14 2 14 INT conforms conforms 0 15 2 15 INT active-lo level 1 8:A 2 16 Processors: APIC ID Version State Family Model Step Flags 0 0x11 BSP, usable 5 2 1 0x07bf 1 0x11 AP, usable 5 2 1 0x07bf -- Bus: Bus ID Type 0 ISA 1 PCI -- I/O APICs: APIC ID Version State Address 2 0x11 usable 0xfec00000 -- I/O Ints: Type Polarity Trigger Bus ID IRQ APIC ID INT# ExtINT conforms conforms 0 0 2 0 INT conforms conforms 0 1 2 1 INT conforms conforms 0 0 2 2 INT conforms conforms 0 3 2 3 INT conforms conforms 0 4 2 4 INT conforms conforms 0 5 2 5 INT conforms conforms 0 6 2 6 INT conforms conforms 0 7 2 7 INT conforms conforms 0 8 2 8 INT conforms conforms 0 9 2 9 INT conforms conforms 0 10 2 10 INT conforms conforms 0 11 2 11 INT conforms conforms 0 12 2 12 INT conforms conforms 0 13 2 13 INT conforms conforms 0 14 2 14 INT conforms conforms 0 15 2 15 INT active-lo level 1 8:A 2 16 INT active-lo level 1 9:A 2 17 INT active-lo level 1 10:A 2 18 INT active-lo level 1 12:A 2 19 SMI conforms conforms 0 0 2 23 -- Local Ints: Type Polarity Trigger Bus ID IRQ APIC ID INT# ExtINT active-hi edge 0 0 255 0 NMI active-hi edge 0 0 255 1 ------------------------------------------------------------------------------- # SMP kernel config file options: options SMP # Symmetric MultiProcessor Kernel options APIC_IO # Symmetric (APIC) I/O options NCPU=2 # number of CPUs options NBUS=2 # number of busses options NAPIC=1 # number of IO APICs options NINTR=24 # number of INTs options SMP_INVLTLB # #options SMP_PRIVPAGES # BROKEN, DO NOT use! #options SMP_AUTOSTART # BROKEN, DO NOT use! #options SERIAL_DEBUG # com port debug output =============================================================================== Copyright (c) 1992-1996 FreeBSD Inc. Copyright (c) 1982, 1986, 1989, 1991, 1993 The Regents of the University of California. All rights reserved. FreeBSD 3.0-SMP #0: Sat Apr 19 14:09:18 GMT 1997 root@fcna1.informatik.uni-rostock.de:/usr/src/sys-SMP.geht/compile/SMPFCNA.7 FreeBSD/SMP: Multiprocessor motherboard cpu0 (BSP): apic id: 0, version: 0x00030010 cpu1 (AP): apic id: 1, version: 0x00030010 io0 (APIC): apic id: 2, version: 0x00170011 Calibrating clock(s) relative to mc146818A clock ... i8254 clock: 1193472 Hz CPU: Pentium (586-class CPU) Origin = "GenuineIntel" Id = 0x52c Stepping=12 Features=0x3bf real memory = 33554432 (32768K bytes) avail memory = 30322688 (29612K bytes) Probing for devices on PCI bus 0: chip0 rev 1 on pci0:0:0 chip1 rev 1 on pci0:7:0 chip2 rev 0 on pci0:7:1 vga0 rev 227 int a irq 16 on pci0:8:0 Freeing (NOT implimented) irq 11 for ISA cards. chip3 rev 2 on pci0:10:0 ahc0 rev 0 int a irq 19 on pci0:12:0 Freeing (NOT implimented) irq 11 for ISA cards. ahc0: aic7880 Single Channel, SCSI Id=7, 16 SCBs ahc0: waiting for scsi devices to settle scbus0 at ahc0 bus 0 ahc0: Someone reset channel A Probing for devices on PCI bus 1: de0 rev 32 int a irq 11 on pci1:4:0 **** Hi from tulip_read_macaddr !! **** Hi from tulip_read_macaddr TULIP_21140 == 0x3, TULIP_21140A == 0x4, sc->tulip_chipid == 0x4 **** sc->tulip_chipid is fine !! **** This is an Adaptec EM400 Master **** **** EM400 Master returning 0 de0: enabling 100baseTX port de0: Cogent EM400 MS 21140A [10-100Mb/s] pass 2.0 de0: address 00:00:92:95:16:b8 de1 rev 32 int a irq 11 on pci1:5:0 **** Hi from tulip_read_macaddr !! **** Hi from tulip_read_macaddr TULIP_21140 == 0x3, TULIP_21140A == 0x4, sc->tulip_chipid == 0x4 **** sc->tulip_chipid is fine !! **** bcmp(sc->tulip_rombuf+20, testpat_em400ms, 4) failed !! **** This is an EM400 Slave **** root_unit 0 set hwaddr..set boardsw.. de1: enabling 100baseTX port de1: Cogent EM400 SL 21140A [10-100Mb/s] pass 2.0 de1: address 00:00:92:95:16:b9 de2 rev 32 int a irq 11 on pci1:6:0 **** Hi from tulip_read_macaddr !! **** Hi from tulip_read_macaddr TULIP_21140 == 0x3, TULIP_21140A == 0x4, sc->tulip_chipid == 0x4 **** sc->tulip_chipid is fine !! **** bcmp(sc->tulip_rombuf+20, testpat_em400ms, 4) failed !! **** This is an EM400 Slave **** root_unit 1 0 set hwaddr..set boardsw.. de2: enabling 100baseTX port de2: Cogent EM400 SL 21140A [10-100Mb/s] pass 2.0 de2: address 00:00:92:95:16:ba de3 rev 32 int a irq 11 on pci1:7:0 **** Hi from tulip_read_macaddr !! **** Hi from tulip_read_macaddr TULIP_21140 == 0x3, TULIP_21140A == 0x4, sc->tulip_chipid == 0x4 **** sc->tulip_chipid is fine !! **** bcmp(sc->tulip_rombuf+20, testpat_em400ms, 4) failed !! **** This is an EM400 Slave **** root_unit 2 1 0 set hwaddr..set boardsw.. de3: enabling 100baseTX port de3: Cogent EM400 SL 21140A [10-100Mb/s] pass 2.0 de3: address 00:00:92:95:16:bb Probing for devices on the ISA bus: sc0 at 0x60-0x6f irq 1 on motherboard sc0: VGA color <16 virtual consoles, flags=0x0> ed0 at 0x300-0x31f irq 5 on isa ed0: address 00:40:05:32:cb:aa, type NE2000 (16 bit) sio0 at 0x3f8-0x3ff irq 4 on isa sio0: type 16550A sio1 at 0x2f8-0x2ff irq 3 on isa sio1: type 16550A lpt0 at 0x378-0x37f irq 7 on isa lpt0: Interrupt-driven port lp0: TCP/IP capable interface fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa fdc0: NEC 72065B fd0: 1.44MB 3.5in wdc0 at 0x1f0-0x1f7 irq 14 on isa wdc0: unit 0 (wd0): wd0: 2015MB (4127760 sectors), 4095 cyls, 16 heads, 63 S/T, 512 B/S npx0 on motherboard npx0: INT 16 interface Enabled INTs: 1, 2, 3, 4, 5, 6, 7, 8, 11, 14, 19, imen: 0x00f7b601 NFS ROOT: 139.30.4.30:/usr/cl/lo/1 SMP: All idle procs online. SMP: Starting 1st AP! SMP: AP CPU #1 LAUNCHED!! Starting Scheduling... SMP: TADA! CPU #1 made it into the scheduler!. SMP: All 2 CPU's are online! fcna1:{root} /root [50]