Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 08 Nov 2002 03:50:58 -0800
From:      Terry Lambert <tlambert2@mindspring.com>
To:        Matthew Dillon <dillon@apollo.backplane.com>
Cc:        hackers@freebsd.org
Subject:   Re: Int 0x15 and VM86 question
Message-ID:  <3DCBA522.4CD60762@mindspring.com>
References:  <200211081007.gA8A7fwx000751@apollo.backplane.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Matthew Dillon wrote:
>     I've been pulling my hair out all night trying to figure out how
>     the hell the VM86 code is able to issue an int 0x15 to the BIOS.
>     I can't find where it gets the interrupt descriptor table entry
>     for int 0x15.  My assumption is that it copies it from the idt
>     supplied by the BIOS but I don't see where.  As far as I can tell
>     FreeBSD loads a pristine IDT that does not have a record for
>     int 0x15.  So how can the VM86 code issue an int 0x15 and have it
>     find the BIOS?
> 
>     If anyone knows the answer to this, I'm all ears!

The old locore is saved, and restored into the vm86 environment
for the purposes of permitting the call.

If we were really clever, we would use the IDT gate to thunk
much of the BIOS functionality back into the host OS.

-- Terry

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3DCBA522.4CD60762>