vdm and software int

how vdm manage the software interrupt int (inside dos program) ?

thank

Sedki Boughattas wrote:

how vdm manage the software interrupt int (inside dos program) ?

Well, simplifying it a bit, an INT instructin in v86 mode causes a
general protection fault. That switches to protect mode and calls the
fault handler, which can used the information saved on the stack to
figure out why the fault occurred. Once it figures out that the fault
was caused by an INT 10 or INT 21 (or whatever), it jumps to code that
simulates or handles the interrupt, sets the state of the registers
appropriately, and returns to the DOS program.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

Intercepted by special VDM support code in the kernel. If this is int 21h
to work with files - then this code calls the proper NtXxxFile functions.
Otherwise, it is returned back to NTVDM process properly.

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com

----- Original Message -----
From: “Sedki Boughattas”
To: “Windows System Software Devs Interest List”
Sent: Friday, January 27, 2006 2:13 AM
Subject: [ntdev] vdm and software int

> how vdm manage the software interrupt int (inside dos program) ?
>
> thank
>
>
>
> —
> Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com

Note that reflection thru the real mode 0:0 interrupt table has to take
place!

Regards,
William Michael Jones “Mike”

“Sedki Boughattas” wrote in message
news:xxxxx@ntdev…
> how vdm manage the software interrupt int (inside dos program) ?
>
> thank
>
>
>

William Michael Jones wrote:

Note that reflection thru the real mode 0:0 interrupt table has to take
place!

Maybe. It’s strictly up to the protect mode fault handler to decide
what to do. Reflecting through the 0:0 interrupt table is one way to
handle it, but it’s also quite common to handle the interrupt entirely
in protect mode.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

IIRC they have something like IFSHLP.SYS in their NTDOS MS-DOS kernel,
which is always in the very end of int 21h chain and transfers to special NT
kernel path which calls NtXxxFile.

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com

----- Original Message -----
From: “William Michael Jones”
Newsgroups: ntdev
To: “Windows System Software Devs Interest List”
Sent: Friday, January 27, 2006 8:13 PM
Subject: Re:[ntdev] vdm and software int

> Note that reflection thru the real mode 0:0 interrupt table has to take
> place!
>
> Regards,
> William Michael Jones “Mike”
>
> “Sedki Boughattas” wrote in message
> news:xxxxx@ntdev…
> > how vdm manage the software interrupt int (inside dos program) ?
> >
> > thank
> >
> >
> >
>
>
>
> —
> Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com

> Maybe. It’s strictly up to the protect mode fault handler to decide

what to do. Reflecting through the 0:0 interrupt table is one way to
handle it, but it’s also quite common to handle the interrupt entirely
in protect mode.

Reflect is necessary to let the DOS TSRs to look at FS request. But this TSR
chain ends in the DOS kernel proper (or at least the mini-DOS of NTDOS.SYS),
which transfers to NT kernel.

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com