*BSD News Article 19637


Return to BSD News archive

Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!elroy.jpl.nasa.gov!swrinde!gatech!prism!gt8134b
From: gt8134b@prism.gatech.EDU (Howlin' Bob)
Newsgroups: comp.os.386bsd.development
Subject: Re: V86 mode & the BIOS (was Need advice: Which OS to port to?)
Message-ID: <109310@hydra.gatech.EDU>
Date: 18 Aug 93 17:20:33 GMT
References: <107181@hydra.gatech.EDU> <1993Aug4.073826.24956@fcom.cc.utah.edu> 	<107725@hydra.gatech.EDU> <1993Aug9.224939.19834@fcom.cc.utah.edu> 	<108137@hydra.gatech.EDU> <BLYMN.93Aug12205126@mallee.awadi.com.au> <109151@hydra.gatech.EDU> <1993Aug18.071548.5342@cn
Sender: news@prism.gatech.EDU
Lines: 26

rooij@bashful.isp.cft.philips.nl (Guido van Rooij) writes:

>gt8134b@prism.gatech.EDU (Howlin' Bob) writes:

>>Hmm.  All you have to do to enter V86 mode is to set the VM bit in
>>the EFLAGS saved register.  Are you saying that the kernel cannot
>>modify the process's saved EFLAGS?

>And then what happens when you want to do unpriviledged IO in vm86 mode?

The kernel receives a fault when a privileged instruction is executed in
V86 mode with IOPL < 3; it simply masks off the VM bit in the process's
saved EFLAGS and delivers the appropriate signal to the task (SIGSEGV);
other signals are also handled normally (SIGFPE,SIGILL).

>I guess it isn't that simple.

I was talking about *entering* V86 mode, mind you, but leaving it
isn't that difficult, either.  There may be some stack fiddling
involved along the way.

--
Robert Sanders
Georgia Institute of Technology, Atlanta Georgia, 30332
uucp:	  ...!{decvax,hplabs,ncar,purdue,rutgers}!gatech!prism!gt8134b
Internet: gt8134b@prism.gatech.edu