Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 8 Nov 2002 21:07:10 -0800 (PST)
From:      Matthew Dillon <dillon@apollo.backplane.com>
To:        "Luoqi Chen" <lchen@briontech.com>
Cc:        <hackers@FreeBSD.ORG>
Subject:   Re: RE: Int 0x15 and VM86 question
Message-ID:  <200211090507.gA957AZa005517@apollo.backplane.com>
References:   <AHEKICEOIHLOGINAFIINAEGFCAAA.lchen@briontech.com>

next in thread | previous in thread | raw e-mail | index | archive | help
:When iopl is less than 3 (that's what our kernel is running at), the
:soft interrupts in vm86 are not dispatched through the normal protective
:mode idt vector. Depending on your vme setting and interrupt redirection
:bitmap, it either triggers a general protection fault (vme clear and redir
:bit set), or directly jumps to vector at low memory as in real mode (vme
:set and redir bit clr). IIRC vme is available for P5 or later processors.
:So for you it most likely is the direct jump. The first page of physical
:memory (which contains the BIOS vectors) is not touched by the kernel,
:and is mapped at address 0 in the vm86 process space.
:
:Does this answer your question, Matt? It has been quite a while since
:I looked at the stuff, some of the descriptions might not be accurate.
:
:-lq

    Ah ha!  You are a great help Luoqi.  I was so focused on the 
    interrupt descriptor tables that I forgot that they can be ignored
    in virtual 8086 mode.  I dunno in regards to the IOPL, I'll look into
    that, but you've definitely hit the nail on the head.  Thanks a 
    bunch!

					-Matt
					Matthew Dillon 
					<dillon@backplane.com>

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?200211090507.gA957AZa005517>