[comp.sys.ibm.pc] IBM PC/AT interrupt problems

ray@gssc.UUCP (Ray Fogg) (05/09/90)

GSS designs and markets high resolution graphic display controllers for PC/AT 
MicroChannel machines.  I have been responsible for writing the diagnostics 
that are used to test our cards.  For our controller designed to operate in the 
PC/AT environment, we have an interrupt test that causes our card to generate
interrupts to the PC over the IRQ10, IRQ11, and IRQ15 lines.  When the test is
run in an IBM machine, the PC will periodically not detect the interrupt.  We 
have found that if the IRQ0 (Timer) interrupt is disabled during the test, the
problem goes away.  The problem also will not occur if the AT BIOS ROMs are 
replaced with BIOS ROMS from a clone that we have in the lab.  

The test has worked fine in other 286 boxes with processor speeds up to 33 MHz.
It has also worked well in several 386 boxes.

It would appear that there may be a bug in the AT BIOS code with respect to 
handling interrupts.  Does this ring a bell with anyone?  Any ideas about a
workaround (I am reluctant to run with the Timer disabled, as I time-stamp all
error messages)?


...!{tektronix!verdix}!sequent!gssc!ray                Ray Fogg
(503) 641-2200                                         Graphic Software Systems
						       9590 S.W. Gemini Dr.
						       Beaverton, OR  97005
-- 
...!{tektronix!verdix}!sequent!gssc!ray                Ray Fogg
(503) 641-2200                                         Graphic Software Systems
						       9590 S.W. Gemini Dr.
						       Beaverton, OR  97005

davidsen@crdos1.crd.ge.com (william E Davidsen) (05/09/90)

  In article <6183@gssc.UUCP>, ray@gssc.UUCP (Ray Fogg) writes:

> The test has worked fine in other 286 boxes with processor speeds up
to 33 MHz.
> It has also worked well in several 386 boxes.

  What system has a 33MHz 286, just out of curiosity?

bak10413@uxa.cso.uiuc.edu (05/09/90)

Perhaps if you install a hook onto the timer interrupt so when you're
ready to call your interrupt, you can wait until the timer 'ticks' before
you call yours, and then you don't have to worry about the timer interrupting
your code.

- Just a thought...

Brent Knecht
bak10413@uxa.cso.uiuc.edu
University of Illinois
Urbana-Champaign