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>