delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2002/10/10/17:55:56

Message-ID: <BDD73AE8AEE3EF438E07420C2600E9F65C9192@qtiexch0.qgraph.com>
From: "Sisco, Michael" <mdsisco AT qtiworld DOT com>
To: "'sandmann AT clio DOT rice DOT edu'" <sandmann AT clio DOT rice DOT edu>
Cc: djgpp AT delorie DOT com
Subject: RE: Int 0x22???
Date: Thu, 10 Oct 2002 16:54:37 -0500
MIME-Version: 1.0
X-Mailer: Internet Mail Service (5.5.2656.59)
Reply-To: djgpp AT delorie DOT com

> (_go32_dpmi_chain_protected_mode_interrupt_vector).
> 
> These aren't reentrant.  And they have some overhead.  And 
> chaining takes 
> a lot of overhead (needs to call back to real mode).  It's 
> much better if
> you just hook the interrupt and do cleanup yourselves.  Even 
> better if you
> do it from your own wrapper ...
> 
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).

> > > Do you keep interrupts disabled?
> > I'm not sure I understand. The first line of our interrupt 
> handler is
> > disable(); and the last line is enable(); if that's what you mean. 
> 
> 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?

> > > What version of cwsdpmi?
> > CWSDPMI V0.90+
> 
> r5?  Image size?

Yes, r5. Image size is 19,335 bytes.

Thanks once more,

Michael

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019