From owner-freebsd-smp Sun Mar 14 15:29:14 1999 Delivered-To: freebsd-smp@freebsd.org Received: from verdi.nethelp.no (verdi.nethelp.no [158.36.41.162]) by hub.freebsd.org (Postfix) with SMTP id 741BF14F5C for ; Sun, 14 Mar 1999 15:27:46 -0800 (PST) (envelope-from sthaug@nethelp.no) Received: (qmail 9217 invoked by uid 1001); 14 Mar 1999 23:27:27 +0000 (GMT) To: pepper@lh.net Cc: freebsd-smp@freebsd.org Subject: Re: cpq proliant 5500R dual xeon PCI bus=255? From: sthaug@nethelp.no In-Reply-To: Your message of "Sun, 14 Mar 1999 17:12:27 -0600" References: X-Mailer: Mew version 1.05+ on Emacs 19.34.2 Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Date: Mon, 15 Mar 1999 00:27:27 +0100 Message-ID: <9215.921454047@verdi.nethelp.no> Sender: owner-freebsd-smp@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org > Having problems booting up an SMP kernel under 3.1-RELEASE on our new > compaq proliant 5500R dual xeon box. I'm noticing that BIOS is reporting > 255 PCI busses to a non-MP kernel, which works but sets the number at a > reasonable ten. mptable reports three physical busses. Here's some > relevant output. I realize that compaq is insane with some of their > hardware implementation, and apologize for asking you folks to wade through > it. Thanks for any assistance you can give! You really should try 3.1-STABLE. There are at least two very significant bugfixes (relevant to Compaq boxes) that were integrated after 3.1-RELEASE. The relevant messages are included below. Steinar Haug, Nethelp consulting, sthaug@nethelp.no ---------------------------------------------------------------------- Date: Thu, 18 Feb 1999 22:38:02 +0000 (GMT) From: Doug Rabson To: Michael Reifenberger Cc: Benjamin Lewis , freebsd-current@freebsd.org, se@freebsd.org Subject: Re: Compaq built-in ncr & tl controllers with 4.0 On Thu, 18 Feb 1999, Michael Reifenberger wrote: > On Thu, 18 Feb 1999, Doug Rabson wrote: > ... > > It may be that we aren't detecting the bridge properly in the 3.1 pci > > code. > dmesg under 2.2.7 shows: > ... > eisa0: > Probing for devices on the EISA bus > DPT: EISA SCSI HBA Driver, version 1.4.3 > Probing for devices on PCI bus 0: > chip0 rev 3 on pci0:0:0 > vga0... > ncr0... > ... > chip1 rev 7 on > pci0:15:0 > chip2 rev 3 on pci0:17:0 > Probing for devices on PCI bus 1: > ... > ncr1... > sd0... > st0... > ... > > Hmm. a quick: `cvs diff -u -r1.40.2.1 -r1.40.2.7 pcisupport.c` showed that the > occurances of config_Ross went in in 1.40.2.7 to pcisupport.c by se. > Seems we have some functtionality missing in the -current. > May I ask you to merge the missing routines over? > > ... > > I may end up changing this so we probe in a depth first order due to some > > other changes I am making to the pci code. > Would be nice. Thanks. I'm working blind here but it seems to me that this patch might fix it. It might probe one too many busses but that can be fixed by removing the +1 in fixbushigh_Ross(). Index: pcisupport.c =================================================================== RCS file: /home/ncvs/src/sys/pci/pcisupport.c,v retrieving revision 1.92 diff -u -r1.92 pcisupport.c --- pcisupport.c 1999/02/13 17:51:46 1.92 +++ pcisupport.c 1999/02/18 22:34:59 @@ -204,7 +204,17 @@ tag->secondarybus = tag->subordinatebus = subordinatebus; } +static void +fixbushigh_Ross(pcici_t tag) +{ + int secondarybus; + /* just guessing the secondary bus register number ... */ + secondarybus = pci_cfgread(tag, 0x45, 1); + if (secondarybus != 0) + tag->secondarybus = tag->subordinatebus = secondarybus + 1; +} + static void fixwsc_natoma(pcici_t tag) { @@ -388,6 +398,11 @@ return ("NEC 002C PCI to PC-98 C-bus bridge"); case 0x003b1033: return ("NEC 003B PCI to PC-98 C-bus bridge"); + + /* Ross (?) -- vendor 0x1166 */ + case 0x00051166: + fixbushigh_Ross(tag); + return ("Ross (?) host to PCI bridge"); }; if ((descr = generic_pci_bridge(tag)) != NULL) -- Doug Rabson Mail: dfr@nlsystems.com Nonlinear Systems Ltd. Phone: +44 181 442 9037 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message ---------------------------------------------------------------------- To: sigpet@islandia.is Cc: freebsd-smp@FreeBSD.ORG Subject: Re: Problem - Compaq Proliant 2500 and SMP From: Tor.Egge@fast.no Date: Fri, 26 Feb 1999 03:45:29 +0100 > Hi. > I've bean scrolling throug the archives and I cant find any solution to my > problem. > > I have Compaq Proliant 2500 with 2x200 Mhz Pentium Pro CPUs. 128 Mb RAM > I have configured the APIC option in System Configuration ( BIOS ) to FULL > TABLE but still it crashes on boot up with this: > > assign_apic_irq:inconsistent table > MP_LOCK=0000001 ; CPUID=0 ; lapic=01000000 Try this patch: Index: mp_machdep.c =================================================================== RCS file: /home/ncvs/src/sys/i386/i386/mp_machdep.c,v retrieving revision 1.89 diff -u -r1.89 mp_machdep.c --- mp_machdep.c 1999/01/28 01:59:50 1.89 +++ mp_machdep.c 1999/02/26 02:43:04 @@ -1090,7 +1090,7 @@ int_to_apicintpin[x].redirindex = 0; } for (x = 0; x < nintrs; x++) { - if (io_apic_ints[x].dst_apic_int <= APIC_INTMAPSIZE && + if (io_apic_ints[x].dst_apic_int < APIC_INTMAPSIZE && io_apic_ints[x].dst_apic_id == IO_TO_ID(0) && io_apic_ints[x].int_vector == 0xff && (io_apic_ints[x].int_type == 0 || - Tor Egge To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-smp" in the body of the message To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-smp" in the body of the message