Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 19 Apr 2000 17:44:24 -0400 (EDT)
From:      Andrew Gallatin <gallatin@cs.duke.edu>
To:        Steve Passe <smp@csn.net>
Cc:        sthaug@nethelp.no, mihara@prd.fc.nec.co.jp, freebsd-smp@FreeBSD.ORG
Subject:   Re: Multiple APIC support (RE: Issues with Spankin' new Poweredge  4400 w/ dual 866's and 133MHz FSB?)
Message-ID:  <14590.9330.960514.16657@grasshopper.cs.duke.edu>
In-Reply-To: <200004191527.JAA67553@Ilsa.StevesCafe.com>
References:  <81641.956128207@verdi.nethelp.no> <200004191527.JAA67553@Ilsa.StevesCafe.com>

next in thread | previous in thread | raw e-mail | index | archive | help

Steve Passe writes:
 > Hi,
 > 
 > > > > > I/O APICs:	APIC ID	Version	State		Address
 > > > > > 		14	 0x11	 usable		 0xfec00000
 > > > > > 		13	 0x11	 usable		 0xfff7ec00
 > > > 
 > > > We need to get one of the VM guys to look at the code in 
 > > > pmap.c:pmap_bootstrap()
 > > > around line 422.  I think this code assumes that IO apics are aligned to
 > > > a PAGE_SIZE boundary which isn't true for your second IO apic @ 0xfff7ec00.
 > > 
 > > However, this is not the problem for the IBM Netfinity 5600 servers with
 > > the RCC chipset:
 > > 
 > > I/O APICs:      APIC ID Version State           Address
 > >                 14       0x11    usable          0xfec00000
 > >                 15       0x11    usable          0xfec01000
 > > 
 > 
 > I agree, its 2 different issues.


I think an important tidbit is that in Eric Duncan's post 
(http://docs.FreeBSD.org/cgi/getmsg.cgi?fetch=5951+0+archive/2000/freebsd-smp/20000416.freebsd-smp), 
he mentions that 3.4 works properly, enables both CPUs & does not
hang.  This is probably worth at least some sort of investigation by
SMP hackers (I'm not an SMP person, I just tripped over this thread
while researching a PE4400 purchase).

Also, if somebody has a PE2400 or a PE4400 which they're attempting to
run 3-stable on, can they tell me if all the pci buses (at least 2
peer buses on the PE2400, and at least 4 on the PE4400) are detected?
If not, try the appended patch.  This was coded blindly, I don't run
3-stable.

If what Eric said was true, this *might* be enough to get some poor
soul running SMP on a 2400 using 3-stable.  (aic7899 support has not
been backported to 3-stable, so 2450 & 44x0 owners are out of luck,
but the 2400 uses an aic7890).

Cheers,

Drew

------------------------------------------------------------------------------
Andrew Gallatin, Sr Systems Programmer	http://www.cs.duke.edu/~gallatin
Duke University				Email: gallatin@cs.duke.edu
Department of Computer Science		Phone: (919) 660-6590



Index: sys/pci/pcisupport.c
===================================================================
RCS file: /home/ncvs/src/sys/pci/pcisupport.c,v
retrieving revision 1.86.2.13
diff -u -r1.86.2.13 pcisupport.c
--- sys/pci/pcisupport.c	1999/11/01 22:48:34	1.86.2.13
+++ sys/pci/pcisupport.c	2000/04/19 17:11:53
@@ -203,12 +203,12 @@
 }
 
 static void
-fixbushigh_Ross(pcici_t tag)
+fixbushigh_rcc(pcici_t tag)
 {
 	int secondarybus;
 
 	/* just guessing the secondary bus register number ... */
-	secondarybus = pci_cfgread(tag, 0x45, 1);
+	secondarybus = pci_cfgread(tag, 0x44, 1);
 	if (secondarybus != 0)
 		tag->secondarybus = tag->subordinatebus = secondarybus + 1;
 }
@@ -409,10 +409,16 @@
 	case 0xc8221045:
 		return ("OPTi 82C822 host to PCI Bridge");
 
-	/* Ross (?) -- vendor 0x1166 */
+	/* rcc -- vendor 0x1166 */
 	case 0x00051166:
-		fixbushigh_Ross(tag);
-		return ("Ross (?) host to PCI bridge");
+		/* FALLTHROUGH */
+	case 0x00061166:
+		/* FALLTHROUGH */
+	case 0x00081166:
+		/* FALLTHROUGH */
+	case 0x00091166:	
+		fixbushigh_rcc(tag);
+		return ("RCC host to PCI bridge");
 
 	/* Others */
 	case 0x00221014:




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?14590.9330.960514.16657>