Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 09 Apr 1997 14:18:41 -0700
From:      David Greenman <dg@root.com>
To:        asami@vader.cs.berkeley.edu (Satoshi Asami)
Cc:        stesin@gu.net, se@freebsd.org, hackers@freebsd.org, scsi@freebsd.org
Subject:   Re: Intel XXpress again (was: 2 PCI busses, 2 AIC chips, 2.2.1. Howto ? 
Message-ID:  <199704092118.OAA22425@root.com>
In-Reply-To: Your message of "Tue, 08 Apr 1997 14:58:31 PDT." <199704082158.OAA27677@silvia.HIP.Berkeley.EDU> 

next in thread | previous in thread | raw e-mail | index | archive | help
> * 	I'm considering this, but I don't trust my own skills of
> * 	hacking pretty unfamiliar kernel code to get production
> * 	system running in 2-3 days...  I still hope that there already is
> * 	a solution...
>
>Well, let's see if David can help you.

   I am, of course. I've attached the fix I used on the Intel Alder box, but
I don't know if the patch will even apply cleanly anymore...so you might
have to do this by hand.

-DG

David Greenman
Core-team/Principal Architect, The FreeBSD Project

Index: pci.c
===================================================================
RCS file: /home/ncvs/src/sys/pci/pci.c,v
retrieving revision 1.23.4.5
diff -c -r1.23.4.5 pci.c
*** 1.23.4.5	1996/01/19 19:21:03
--- pci.c	1996/01/30 08:18:14
***************
*** 158,163 ****
--- 158,173 ----
      0x4000000, 0xFFFFFFFFu,	/* nonprefetch membase/limit */
      0x4000000, 0xFFFFFFFFu	/* prefetch membase/limit */
  };
+ #define SECOND_BUS 1
+ static	struct pcicb	pcibus1 = {
+     NULL, NULL, NULL,
+     { 0 },
+     0, SECOND_BUS, 0, 0,
+     0, 0, 0, 0, 0, 0, 0, 0,	/* real allocation */
+     0, 0xFFFF,			/* iobase/limit */
+     0x2000000, 0xFFFFFFFFu,	/* nonprefetch membase/limit */
+     0x2000000, 0xFFFFFFFFu	/* prefetch membase/limit */
+ };
  static	struct pcicb   *pcicb;
  
  /*========================================================
***************
*** 207,212 ****
--- 217,238 ----
  		if (pcicb)
  			pcicb = pcicb->pcicb_next;
  	}
+ #if 1
+ 	for (pcicb = &pcibus1; pcicb != NULL;) {
+ 		pci_bus_config ();
+ 
+ 		if (pcicb->pcicb_down) {
+ 			pcicb = pcicb->pcicb_down;
+ 			continue;
+ 		};
+ 
+ 		while (pcicb && !pcicb->pcicb_next)
+ 			pcicb = pcicb->pcicb_up;
+ 
+ 		if (pcicb)
+ 			pcicb = pcicb->pcicb_next;
+ 	}
+ #endif
  	pci_conf_count++;
  }
  



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