From: sandmann AT clio DOT rice DOT edu (Charles Sandmann) Message-Id: <10210102233.AA16849@clio.rice.edu> Subject: Re: Int 0x22??? To: mdsisco AT qtiworld DOT com (Sisco, Michael) Date: Thu, 10 Oct 2002 17:33:04 -0500 (CDT) Cc: djgpp AT delorie DOT com In-Reply-To: from "Sisco, Michael" at Oct 10, 2002 04:54:37 PM X-Mailer: ELM [version 2.5 PL2] Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Reply-To: djgpp AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk > We can have multiple identical PCI boards plugged into our > system, and they may have to share interrupts with other > hardware (or each other), so chaining seems to be the easiest > solution. We can work around this if need be, but I think we > have worked out most of our problems (read on). As long as it works, and you don't miss interrupts or overrun stacks, fine. If you need to run at higher frequencies or on lower end hardware, consider only chaining if the interrupt isn't one you handled. > > Ouch. Try removing the enable (and the disable). > > The enable would let a > > second interrupt hit the wrapper before the first one was clear. > Bingo! This appears to be the biggest source of our problems. We > removed these lines from the handler, and things improved > dramatically, although I'm not completely sure I understand why. > Doesn't the interrupt controller prevent "simultaneous" interrupts > anyway? This happens after you send the EOI to the controller. There are several dozen instructions that need to be executed before you get out of your routine (and the wrapper) after the STI happens. If a second interrupt is pending then it would immediately trigger. > Thanks once more, Glad to help. We still aren't exactly sure what the Int 0x22 is and how it happens, but avoiding it is much better anyway. It may be some subtle bug in the wrappers, or in CWSDPMI if bad things happen on the interrupt stack.