Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 15 Mar 1999 00:27:27 +0100
From:      sthaug@nethelp.no
To:        pepper@lh.net
Cc:        freebsd-smp@freebsd.org
Subject:   Re: cpq proliant 5500R dual xeon PCI bus=255?
Message-ID:  <9215.921454047@verdi.nethelp.no>
In-Reply-To: Your message of "Sun, 14 Mar 1999 17:12:27 -0600"
References:  <v04003a0ab311f11ef65b@[207.48.52.241]>

next in thread | previous in thread | raw e-mail | index | archive | help
> 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 <dfr@nlsystems.com>
To: Michael Reifenberger <root@nihil.plaut.de>
Cc: Benjamin Lewis <bhlewis@gte.net>, 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: <CPQ553 (System Board)>
> Probing for devices on the EISA bus
> DPT:  EISA SCSI HBA Driver, version 1.4.3
> Probing for devices on PCI bus 0:
> chip0 <Ross (?) host to PCI bridge> rev 3 on pci0:0:0  
> vga0...
> ncr0...
> ...
> chip1 <generic PCI bridge (vendor=0e11 device=0001 subclass=2)> rev 7 on
> pci0:15:0
> chip2 <Ross (?) host to PCI bridge> 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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9215.921454047>