X-Authentication-Warning: delorie.com: mailnull set sender to djgpp-bounces using -f From: Charles Sandmann Newsgroups: comp.os.msdos.djgpp Subject: Re: DPMI Interrupt latency ? Date: Sat, 26 Jan 2002 11:08:43 CST Organization: Rice University, Houston TX Lines: 35 Message-ID: <3c52e29b.sandmann@clio.rice.edu> References: NNTP-Posting-Host: clio.rice.edu X-Trace: joe.rice.edu 1012065756 399 128.42.105.3 (26 Jan 2002 17:22:36 GMT) X-Complaints-To: abuse AT rice DOT edu NNTP-Posting-Date: 26 Jan 2002 17:22:36 GMT X-NewsEditor: ED-1.5.9 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com > Could anyone tell me what is the order of delay (in clocks) required for > the CWSDPMI server to reflect a hardware interrupt from Real mode to the > protected mode handler ? It depends on the chip you're using. A bunch. Say a few thousand clocks. > I need to write a Hardware Interrupt handler where latency is very > critical. Any suggestion regarding which DPMI server would provide me > the best latency figures would also be welcome. (The application need > not be portable - and I can specify the environment). PMODE 1.3 is probably the fastest. The best thing to do is some tests. If you document it (or provide the test programs) I'll add it to a summary somplace. > I would have liked to setup a Real mode interrupt handler as well to > reduce the latency - but the problem is that my Interrupt routine needs > random access to a 4MB buffer in extended memory. Would it be possible > to hack the DPMI server source code so that real mode handler can access > memory above 1MB using 32 bit pointers ? (the Flat mode)- in which case, > which Descriptor do I need to modify ? Anything is possible since the source is freely available :-) In CWSDPMI all the mode switch and selector setup is done in mswitch.asm so it should be fairly simple to set up one of the selectors to do the "unreal" flat mode 32-bit real mode hack. You would need to know about the physical to virtual translations with page tables under CWSDPMI. PMODE would not need to worry about page table remapping issues, but I don't offhand know where to set up the unreal segments there. In any case, if you get it working you can always contribute it.