Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Jul 1997 23:51:00 -0600
From:      Steve Passe <smp@csn.net>
To:        smp@freebsd.org
Subject:   HEADS UP: EISA cards.
Message-ID:  <199707160551.XAA06975@Ilsa.StevesCafe.com>

next in thread | raw e-mail | index | archive | help
Hi,

DESIGN DECISION:

I am about to make a design decision that will forever-more make the use
of EISA cards that use the EISA chipset DMA circuit impossible in the SMP
kernel.  I posted a rather long email about this several days ago but got ZERO
response.  So I can conclude that either:

 a: everyone agrees with this decision.
OR
 b: no one with such hardware read that far.

In the future I will use this "HEADS UP" format to get a summary of such 
info to the top of email.  For the record, here is a repost of the
pertinant info:

----------------------------------- cut -----------------------------------
Till now we have been using "mixed mode programming" where the 8259 PIC's
INT output is routed thru the APIC and handled as an 'ExtInt' on those
machines that don't route the 8254 to the APIC.
 ...

It turns out that when you do this the 8254 timer INTs (or any INT from the
8259) are NOT reflected in the APIC IRR/ISR registers, and CANNOT be masked
via the APIC TPR register/process priority scheme.  This is unacceptable
 ...
Intel has a solution in:

Intel486(TM) MicroProcessors and related Products, order #241731-002 
      pp 4-220 thru 4-302: 82489DX Advanced Programmable Interrupt Controller
 ...
 - program the 8259 to pass ONLY the DMA chaining INT
 - program the IO APIC to handle this as a regular (ie not 'ExtInt') input
 - abandon the 8254 timer, instead using the APIC's internal timer.
 ...
I believe that we don't want to abandon the 8254, but instead should
abandon the DMA chaining INTs (who uses these anyways???)  Then we
can program in a similar way, but instead pass the 8254 INT thru as
a regular INT.
 ...
we need to make a policy decision as to whether we can say
bye-bye to the DMA chaining INTs.  If I don't get thoughtful feedback on this
I will just nmake an arbitrary decision (which I suspect to be axing the DMA 
INTs).  I think the only situation needing them is non-busmaster EISA hardware
that does DMA via the motherboard chipset DMA registers.  Please correct me
if I am wrong on this point.


--
Steve Passe	| powered by 
smp@csn.net	|            Symmetric MultiProcessor FreeBSD





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