From owner-freebsd-smp Fri Sep 18 17:09:55 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id RAA07100 for freebsd-smp-outgoing; Fri, 18 Sep 1998 17:09:55 -0700 (PDT) (envelope-from owner-freebsd-smp@FreeBSD.ORG) Received: from dingo.cdrom.com (dingo.cdrom.com [204.216.28.145]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id RAA07090; Fri, 18 Sep 1998 17:09:40 -0700 (PDT) (envelope-from mike@dingo.cdrom.com) Received: from dingo.cdrom.com (localhost.cdrom.com [127.0.0.1]) by dingo.cdrom.com (8.9.1/8.8.8) with ESMTP id RAA02077; Fri, 18 Sep 1998 17:15:19 -0700 (PDT) (envelope-from mike@dingo.cdrom.com) Message-Id: <199809190015.RAA02077@dingo.cdrom.com> X-Mailer: exmh version 2.0.2 2/24/98 To: se@FreeBSD.ORG cc: smp@FreeBSD.ORG Subject: Multiple PCI busses and the 450NX chipset Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Fri, 18 Sep 1998 17:15:19 -0700 From: Mike Smith Sender: owner-freebsd-smp@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org (copied to -smp in case someone there can spot something we're missing) G'day Stefan. Let me guess; you're still insanely busy? 8) I've been poking a little at this Intel 450NX-based system we have here, trying to get some sort of handle on why we only see one of the three PCI busses on the system. Following are the relevant verbose boot and mptable output. Any ideas? >From the 450NX chipset documentation it almost looks as though there are three separate PCI busses off the host bus, rather than being bridged off each other; they make mention of one bus being in "compatibility" mode. We'd obviously really like to support the other two busses in this machine... Programming 64 pins in IOAPIC #0 IOAPIC #0 intpint 48 -> irq 16 IOAPIC #0 intpint 49 -> irq 17 IOAPIC #0 intpint 57 -> irq 11 IOAPIC #0 intpint 58 -> irq 10 SMP: CPU0 apic_initialize(): lint0: 0x00000700 lint1: 0x00010400 TPR: 0x00000010 SVR: 0x000001ff FreeBSD/SMP: Multiprocessor motherboard cpu0 (BSP): apic id: 3, version: 0x00040011, at 0xfee00000 cpu1 (AP): apic id: 0, version: 0x00040011, at 0xfee00000 cpu2 (AP): apic id: 1, version: 0x00040011, at 0xfee00000 cpu3 (AP): apic id: 2, version: 0x00040011, at 0xfee00000 io0 (APIC): apic id: 4, version: 0x003f0013, at 0xfec10000 ... SMP: CPU0 bsp_apic_configure(): lint0: 0x00010700 lint1: 0x00000400 TPR: 0x00000010 SVR: 0x000001ff pci_open(1): mode 1 addr port (0x0cf8) is 0x8000a060 pci_open(1a): mode1res=0x80000000 (0x80000000) pci_cfgcheck: device 0 1 2 3 4 5 6 7 8 9 10 [class=010000] [hdr=00] is there (id=80789004) Probing for devices on PCI bus 0: found-> vendor=0x9004, dev=0x8078, revid=0x01 class=01-00-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 intpin=a, irq=10 map[0]: type 4, range 32, base 00002000, size 8 map[1]: type 1, range 32, base fc100000, size 12 ahc0: rev 0x01 int a irq 10 on pci0.10.0 ahc0: Reading SEEPROM...checksum error ahc0: No SEEPROM available. ahc0: Using left over BIOS settings ahc0: aic7880 Wide Channel A, SCSI Id=7, 16/255 SCBs ahc0: Resetting Channel A ahc0: Downloading Sequencer Program... 411 instructions downloaded found-> vendor=0x8086, dev=0x1229, revid=0x02 class=02-00-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 intpin=a, irq=11 map[0]: type 3, range 32, base fc400000, size 12 map[1]: type 4, range 32, base 00002400, size 5 map[2]: type 1, range 32, base fc000000, size 20 fxp0: rev 0x02 int a irq 11 on pci0.11.0 fxp0: Ethernet address 00:a0:c9:a7:af:44 Freeing (NOT implemented) redirected PCI irq 11. found-> vendor=0x1013, dev=0x00b8, revid=0x00 class=03-00-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 intpin=a, irq=16 map[0]: type 3, range 32, base fd000000, size 24 vga0: rev 0x00 int a irq 16 on pci0.12.0 found-> vendor=0x8086, dev=0x7110, revid=0x02 class=06-01-00, hdrtype=0x00, mfdev=1 subordinatebus=0 secondarybus=0 chip0: rev 0x02 on pci0.15.0 found-> vendor=0x8086, dev=0x7111, revid=0x01 class=01-01-80, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 Freeing (NOT implemented) redirected PCI irq 11. found-> vendor=0x8086, dev=0x7112, revid=0x01 class=0c-03-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 intpin=d, irq=17 chip1: rev 0x01 int d irq 17 on pci0.15.2 found-> vendor=0x8086, dev=0x7113, revid=0x02 class=06-80-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 chip2: rev 0x02 on pci0.15.3 found-> vendor=0x8086, dev=0x84ca, revid=0x03 class=06-00-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 chip3: rev 0x03 on pci0.16.0 found-> vendor=0x8086, dev=0x84cb, revid=0x02 class=06-00-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 chip4: rev 0x02 on pci0.18.0 found-> vendor=0x8086, dev=0x84cb, revid=0x02 class=06-00-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 chip5: rev 0x02 on pci0.19.0 found-> vendor=0x8086, dev=0x84cb, revid=0x02 class=06-00-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 chip6: rev 0x02 on pci0.20.0 =============================================================================== MPTable, version 2.0.15 ------------------------------------------------------------------------------- MP Floating Pointer Structure: location: BIOS physical address: 0x000f67e0 signature: '_MP_' length: 16 bytes version: 1.4 checksum: 0x52 mode: Virtual Wire ------------------------------------------------------------------------------- MP Config Table Header: physical address: 0x0009e560 signature: 'PCMP' base table length: 324 version: 1.4 checksum: 0x29 OEM ID: 'INTEL ' Product ID: 'AD450NX ' OEM table pointer: 0x00000000 OEM table size: 0 entry count: 29 local APIC address: 0xfee00000 extended table length: 236 extended table checksum: 25 ------------------------------------------------------------------------------- MP Config Base Table Entries: -- Processors: APIC ID Version State Family Model Step Flags 3 0x11 BSP, usable 6 5 2 0x183fbff 0 0x11 AP, usable 6 5 2 0x183fbff 1 0x11 AP, usable 6 5 2 0x183fbff 2 0x11 AP, usable 6 5 2 0x183fbff -- Bus: Bus ID Type 0 PCI 1 PCI 2 PCI 3 ISA -- I/O APICs: APIC ID Version State Address 4 0x13 usable 0xfec10000 -- I/O Ints: Type Polarity Trigger Bus ID IRQ APIC ID PIN# ExtINT active-hi edge 3 0 4 0 INT active-hi edge 3 1 4 1 INT active-hi edge 3 0 4 2 INT active-hi edge 3 3 4 3 INT active-hi edge 3 4 4 4 INT active-hi edge 3 5 4 5 INT active-hi edge 3 6 4 6 INT active-hi edge 3 7 4 7 INT active-lo edge 3 8 4 8 INT active-hi edge 3 9 4 9 INT active-lo level 0 10:A 4 58 INT active-lo level 0 11:A 4 57 INT active-hi edge 3 12 4 12 INT active-hi edge 3 13 4 13 INT active-hi edge 3 14 4 14 INT active-hi edge 3 15 4 15 INT active-lo level 0 12:A 4 48 INT active-lo level 0 15:D 4 49 -- Local Ints: Type Polarity Trigger Bus ID IRQ APIC ID PIN# ExtINT active-hi edge 3 0 255 0 NMI active-hi edge 0 0:A 255 1 ------------------------------------------------------------------------------- APIC ID PIN# ExtINT active-hi edge 3 0 255 0 NMI active-hi edge 0 0:A 255 1 ------------------------------------------------------------------------------- MP Config Extended Table Entries: -- bus ID: 0 address type: I/O address address base: 0x0 address range: 0x3000 -- bus ID: 2 address type: I/O address address base: 0x3000 address range: 0x1000 -- bus ID: 2 address type: I/O address address base: 0x4000 address range: 0xc000 -- bus ID: 0 address type: memory address address base: 0xfc000000 address range: 0x400000 -- bus ID: 0 address type: prefetch address address base: 0xfc400000 address range: 0x1c00000 -- bus ID: 1 address type: memory address address base: 0xfec10000 address range: 0x100000 -- bus ID: 0 address type: memory address address base: 0xffe00000 address range: 0x200000 -- bus ID: 0 address type: memory address address base: 0xa0000 address range: 0x20000 -- bus ID: 0 address type: memory address address base: 0xd0000 address range: 0x14000 -- bus ID: 3 bus info: 0x01 parent bus ID: 0-- bus ID: 0 address modifier: add predefined range: 0x00000000-- bus ID: 0 address modifier: add predefined range: 0x00000001-- bus ID: 1 address modifier: subtract predefined range: 0x00000000-- bus ID: 1 address modifier: subtract predefined range: 0x00000001-- bus ID: 2 address modifier: subtract predefined range: 0x00000000-- bus ID: 2 address modifier: subtract predefined range: 0x00000001 -- \\ Sometimes you're ahead, \\ Mike Smith \\ sometimes you're behind. \\ mike@smith.net.au \\ The race is long, and in the \\ msmith@freebsd.org \\ end it's only with yourself. \\ msmith@cdrom.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-smp" in the body of the message