From owner-freebsd-smp Tue Jul 15 22:51:03 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id WAA22840 for smp-outgoing; Tue, 15 Jul 1997 22:51:03 -0700 (PDT) Received: from Ilsa.StevesCafe.com (Ilsa.StevesCafe.com [205.168.119.129]) by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id WAA22835 for ; Tue, 15 Jul 1997 22:51:00 -0700 (PDT) Received: from Ilsa.StevesCafe.com (localhost [127.0.0.1]) by Ilsa.StevesCafe.com (8.8.6/8.8.5) with ESMTP id XAA06975 for ; Tue, 15 Jul 1997 23:51:00 -0600 (MDT) Message-Id: <199707160551.XAA06975@Ilsa.StevesCafe.com> X-Mailer: exmh version 2.0gamma 1/27/96 From: Steve Passe To: smp@freebsd.org Subject: HEADS UP: EISA cards. Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Tue, 15 Jul 1997 23:51:00 -0600 Sender: owner-smp@freebsd.org X-Loop: FreeBSD.org Precedence: bulk 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