delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2001/08/31/12:30:12.1

From: "Charles Sandmann" <sandmann AT clio DOT rice DOT edu>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: RE: Help! - INT x22 problem.
Date: Fri, 31 Aug 2001 11:06:49
Organization: Aspen Technology, Inc.
Lines: 22
Message-ID: <3b8f6fc9.sandmann@clio.rice.edu>
References: <68C4CF842BD2D411AC1600902740B6DA02CDC54E AT mcoexc02 DOT mlm DOT maxtor DOT com>
NNTP-Posting-Host: dcloan.hou.aspentech.com
X-Trace: selma.aspentech.com 999275081 17428 10.32.115.107 (31 Aug 2001 16:24:41 GMT)
X-Complaints-To: postmaster AT aspentech DOT com
NNTP-Posting-Date: 31 Aug 2001 16:24:41 GMT
X-NewsEditor: ED-1.5.8
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

Quick recommendations without a lot of analysis:
1) Try hooking instead of chaining (hook is faster)
2) Try getting rid of the disable/enable calls  (in wrapper?)
3) If all else fails let's look at wrapper code details

> The interrupt frequency is about 1 interrupt every 40us - 70us.  

A fairly high rate if certain high overhead things happen which might cause
back to back stacked interrupts (next one fires right after EOI and 
interrupts enabled, so you don't finish).  Also high enough that I would be 
worried about one happening in real mode (during a timer interrupt 
or something) and having to be reflected back.  

> One of the other reasons for
> using C code is that I call back into the app (another reason I suspect the
> stack might be corrupted).  Can I still do this if I write the handler
> assembly?  You will also notice that I have a handler for each possible IRQ.
> This is for performance reasons, but I am only hooking one at the moment.  

Yes, you could call back to C code from an assembly wrapper - that's 
what the DJGPP provided wrappers do.   But I would rather fix the DJGPP
wrappers and then everyone benefits :-)

- Raw text -


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