Skip site navigation (1)Skip section navigation (2)
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	|            FreeBSD




home | help

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