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