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>
