🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.os.os2.programmer
Article #1408

Virtual Device Driver Problem

#1408
From: Robert Olivier
Date: Fri, 04 Sep 1992 15:58
31 lines
1580 bytes
I'm working on a VDD/PDD pair that will pass IRQ5 interrupts into
an MS-DOS session for use with a Dialogic DTI board.

Background:

OS/2 provides a VDD with a few virtual dev help functions to simulate
hardware interrupts to DOS sessions.  Two key functions are VDHOpenVIRQ
and VDHSetVIRR.  The former returns a handle to your virtual interrupt
which must be used in the call to VDHSetVIRR.  

The problem that I am having is this: If I include any reference to the
symbol VDHOpenVIRQ in my code, even though it is never executed, OS/2
halts the system with an internal processing error.  The kernel debugger
comes up with the cs:eip poining to the address following a call to some
panic function.  If I tell the debugger to continue (go) then the system
continues initialization and unloads my VDD. However if I run the retail
kernel, the system is stopped dead in it's tracks.

I believe that the virtual dev help functions are linked in at runtime
so is there some sort of lock on that function?  I have never read about
locking a function in a DLL and I really don't know what to make of this
problem.

Any device driver writers out there have an idea?

rjo@panix.com

-- 
Robert J. Olivier

rjo@panix.com
Technical Details
Message-ID: <1992Sep4.155827.21814@panix.com>
Path: arc1-ca.pugleaf.net!sparky!uunet!stanford.edu!rutgers!cmcl2!panix!rjo

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!stanford.edu!rutgers!cmcl2!panix!rjo
From: rjo@panix.com (Robert Olivier)
Newsgroups: comp.os.os2.programmer
Subject: Virtual Device Driver Problem
Keywords: Virtual Device Driver
Message-ID: <1992Sep4.155827.21814@panix.com>
Date: 4 Sep 92 15:58:27 GMT
Organization: PANIX Public Access Unix, NYC
Lines: 31