www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1994/09/23/15:48:16

From: Nigel Stephens <nigel AT algor DOT co DOT uk>
Date: Fri, 23 Sep 94 16:22:47 +0100
To: djgpp AT sun DOT soe DOT clarkson DOT edu
Subject: Locking down interrupt handlers?

I have had problems trying to use the asynctsr tool, especially under
Windows, so I've written a module which doesn't require the separate
TSR, but uses the _go32_dpmi_... interrupt handling functions to
handle the serial port input buffering.

This seems to work fine, under both DOS and Windows, but I am worried.
What happens if an interrupt occurs and some part of the interrupt
routine or its data structures are not paged in?

I believe that Windows' DPMI doesn't really page your program, but
swaps the whole thing in and out in one fell swoop (is this right?),
i.e. as long as the program is running then it should all be there.

But what about under VCPI, XMS, etc.  In these cases GO32 provides
real, paged virtual memory.  Could GO32 be hosed by a page fault due
to my interrupt routine which occurs while GO32 or DOS is busy.  If so
is there any way to make sure that my interrupt routine and its data
is locked down?

Regards

Nigel
 _________________________________________________________________________
 Nigel Stephens, Algorithmics Ltd, 3 Drayton Park, London, N5 1NU, England
 phone: +44 71 700 3301    fax: +44 71 700 3400   email: nigel AT algor DOT co DOT uk

- Raw text -


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