Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 16 May 1998 13:30:27 +0200
From:      Stefan Esser <se@FreeBSD.ORG>
To:        Luis Munoz <lem@cantv.net>, freebsd-hardware@FreeBSD.ORG
Cc:        Stefan Esser <se@FreeBSD.ORG>
Subject:   Re: Multiple PCI busses on a Compaq Proliant 1600
Message-ID:  <19980516133027.04692@mi.uni-koeln.de>
In-Reply-To: <3.0.5.32.19980515103507.03a1b520@pop.cantv.net>; from Luis Munoz on Fri, May 15, 1998 at 10:35:07AM -0400
References:  <3.0.5.32.19980515103507.03a1b520@pop.cantv.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On 1998-05-15 10:35 -0400, Luis Munoz <lem@cantv.net> wrote:
> 
> Hi there:
> 
> On a Compaq Proliant 1600, ROM Rev E31. This machine has 6 PCI
> slots which according to the docs, are in two different PCI
> busses. Slots 4-6 are in the first bus, slots 1-3 are in the
> second. The problem is that any PCI cards plugged 
> to the PCI slots 1 to 3 are not seen by the FreeBSD 
> probes. Cards in slots 4-6 are probed fine.

I only learned about these Proliant machines after
2.2.6 was released, but the support for the 1200 and
1600 has been commited to -stable in March. Just
fetch a recent version of /sys/pci/pcisupport.c or
apply the following patch:

> Perhaps the PCI bridges are not being recognized correctly?

PCI to PCI bridge chips are defined in the PCI specs
to be compatible without the need of drivers specific
to each such chip. But in the case of multiple host 
to PCI bridges, there is no standard that defines the
registers to hold the range of attached buses (the
original specification expected to have only bus 0
directly connected to the CPU and all other buses
behind PCI to PCI bridges), and for that reason, 
support for chip sets with multiple host bridges
is required.

> I have physical access to the PCs and can provide specific chip
> numbers if req'd. I can also do a lot of testing on this as it's
> not yet in production ('till this is fixed :)

Great, I'd love to know the chip numbers, since I only
know them by PCI ID, right now :)

Regards, STefan

Index: /sys/pci/pcisupport.c
===================================================================
RCS file: /usr/cvs/src/sys/pci/pcisupport.c,v
retrieving revision 1.40.2.6
retrieving revision 1.40.2.7
diff -C2 -r1.40.2.6 -r1.40.2.7
*** pcisupport.c	1998/03/01 10:12:00	1.40.2.6
--- pcisupport.c	1998/03/26 22:28:42	1.40.2.7
***************
*** 1,5 ****
  /**************************************************************************
  **
! **  $Id: pcisupport.c,v 1.40.2.6 1998/03/01 10:12:00 asami Exp $
  **
  **  Device driver for DEC/INTEL PCI chipsets.
--- 1,5 ----
  /**************************************************************************
  **
! **  $Id: pcisupport.c,v 1.40.2.7 1998/03/26 22:28:42 se Exp $
  **
  **  Device driver for DEC/INTEL PCI chipsets.
***************
*** 52,55 ****
--- 52,57 ----
  
  static void config_orion (pcici_t tag);
+ static void config_i1225 (pcici_t tag);
+ static void config_Ross (pcici_t tag);
  
  /*---------------------------------------------------------
***************
*** 171,174 ****
--- 173,178 ----
  	case 0x84c58086:
  		return ("Intel 82454GX (Orion) host to PCI bridge");
+ 	case 0x00051166:
+ 		return ("Ross (?) host to PCI bridge");
  	case 0x00221014:
  		return ("IBM 82351 PCI-PCI bridge");
***************
*** 700,703 ****
--- 704,718 ----
  
  static void
+ config_Ross(pcici_t tag)
+ {
+ 	int secondarybus;
+ 
+ 	/* just guessing the secondary bus register number ... */
+ 	secondarybus = (pci_conf_read(tag, 0x44) >> 8) & 0xff;
+ 	if (secondarybus != 0)
+ 		pciroots++;
+ }
+ 
+ static void
  chipset_attach (pcici_t config_id, int unit)
  {
***************
*** 709,712 ****
--- 724,730 ----
  	case 0x12258086: /* unidentified Intel host bridge, dev ID == 0x1225 */
  		config_i1225 (config_id);
+ 		break;
+ 	case 0x00051166: /* Ross ??? */
+ 		config_Ross (config_id);
  		break;
  	}

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hardware" in the body of the message



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