Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 8 Nov 1997 02:38:10 -0800
From:      Jonathan Mini <mini@d198-232.uoregon.edu>
To:        Mike Smith <mike@smith.net.au>
Cc:        hackers@FreeBSD.ORG
Subject:   Re: x86 gods; advice? Suggestions?
Message-ID:  <19971108023810.31291@micron.mini.net>
In-Reply-To: <199711081022.UAA00794@word.smith.net.au>; from Mike Smith on Sat, Nov 08, 1997 at 08:52:11PM %2B1030
References:  <19971108021451.30385@micron.mini.net> <199711081022.UAA00794@word.smith.net.au>

next in thread | previous in thread | raw e-mail | index | archive | help
Mike Smith <mike@smith.net.au> stands accused of saying:
> > 
> >  I need :
> > 
> > 	pmode :
> > 	(setup) ->
> > 		vm86
> > 		(perform subserviant task)
> > 	     <- (fault)
> > 	(run run run)
> 
> Try:
>  	pmode : (setup) (invoke init function)->
>  		vm86
>  		(run run run inside init function)
>  		(fault) ->
>  			pmode (return to main program)
> 	(run run run)
> 	(invoke function) ->
> 		(run run run)
> 		(fault) ->
> 			pmode (return to main program)
> 	(run run run)
> 
> If you look at (invoke function) and expand it to (fiddle vm86 register 
> set, return), then you see that all you are worrying about is semantic.
> The (return to main program) may have to be a little ugly, as in it may 
> want to take the address of a function as an argument, ie. your entire 
> application runs inside the vm86 fault handler, but all that would be 
> invisible presuming that that the alternate signal stack was large 
> enough.

I was hoping to avoid that solution. This is an implementation for a library.
It all falls down to one this : the vm86 arena has to be in the 0-1M memory
range. If I'm implementing a library for this, I can't really do that. Hence
I have to create a new context that I can destroy in order to set up the
vm86 arena.

-- 
Jonathan Mini 					Ingenious Productions
Software Development				P.O. Box 5693,
						Eugene, Or. 97405

 "A child of five could understand this! Quick -- Fetch me a child of five."



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