Date: Sat, 18 Jan 1997 11:28:26 -0700 From: Steve Passe <smp@csn.net> To: smp@freebsd.org Cc: se@freebsd.org (Stefan Esser), Keith Mitchell <kmitch@weenix.guru.org>, Kenneth Merry <ken@housing1.stucen.gatech.edu> Subject: Adaptec 3940UW and SMP, Summary #2 Message-ID: <199701181828.LAA27932@clem.systemsix.com>
index | next in thread | raw e-mail
Hi, [ my mailer burped so I don't know if this was sent or not, please excuse if its a duplicate! ] Keith Mitchel reports his 3940 now working with the latest patches I sent him, so now both systems work with the 3940. The other system (Kenneth Merry) has some problems when allowing the BIOS to autoconfigure, but hand-selecting the INT values can come up with a system that works (new net card is also hanging but reason for that is not known yet, probably just another flavor of the previous conflicts...) There was discussion during this thread of there possible being a problem with shared PCI INTs and SMP. That appears to NOT be the case. The problems we actually saw were based on other subtle facts. We have demonstrated working SHARED PCI INTs with these systems once getting around the TRUE problems. Thanx to Keith and Ken for all their help running tests, and everyone else who contributed! --------------------------- So a list of known problems. I invented a new tag for inclusion in mail to allow easy searches of the SMP mail database: SMP_PROBLEM. This tag should only be applied to a problem THE FIRST TIME it is reported. Ie, I am looking for something that will "grep" a list of know problems. Once you have found a problem of interest you can grep for that problems name to find other references to it. This brings up the issue of when we should start to use send-pr to track SMP bugs??? --- SMP_PROBLEM: PnP board failure PnP boards can cause problems as I have not yet implimented code to "undirect" PCI INTs when sent to the APIC. Since an upper ( >15 ) INT is registered in place of the original ( <=15 ) the original may be assigned later by a PnP card. BUT the lower INT line is NOT un-redirected. This means both the PCI hardware (via the redirect hardware) AND the PnP card are yanking on the same lower INT line, causing random problems. solution: disable the PnP aspects of a board, use the BIOS "legacy ISA" settings. --- SMP_PROBLEM: static (ROM based) MP tables and PCI bridge cards. Some(most?) BIOS have a hard-coded MP table in ROM, meaning that bridged PCI cards and other complex PCI setups will NOT be properly described in the MP table. As such, insufficient info exists in the table to properly setup the APIC for these cards. solution: I got around this by examining the boot output and MP table, then hacking a patch for mp_machdep.c to "do the good thing" when handed bad info from the MP table during boot. This solution is specific to ONE MB with ONE specific PCI bridge card (3940) placed in a SPECIFIC PCI slot. So obviously it ain't the right solution. This solution can be applied to any other situations that require it if necessary in the short term. In the long term this will have to be handled by either "ROGUE" card coding, or possibly analyzing the PCI system ourselves and modifying our in-core MP table as appropriate. This "modification" is probably the correct approach as I expect to see alot of "funky" MP tables in the future. The spec just leaves too much to the imagination! -- Steve Passe | powered by smp@csn.net | FreeBSDhome | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199701181828.LAA27932>
