Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!henry From: henry@utzoo.UUCP (Henry Spencer) Newsgroups: comp.sys.m68k Subject: Re: Virtual Machine (was: Apollo (was: MINIX port to A1000)) Message-ID: <8965@utzoo.UUCP> Date: Fri, 20-Nov-87 13:08:06 EST Article-I.D.: utzoo.8965 Posted: Fri Nov 20 13:08:06 1987 Date-Received: Fri, 20-Nov-87 13:08:06 EST References: <8711050534.AA25885@jade.berkeley.edu>, <7862@ism780c.UUCP> Organization: U of Toronto Zoology Lines: 16 Keywords: virtual machine, emulation, 68010 > You have to have some way of making sure that long stack frames from > things like bus errors are valid before allowing them to be used. > These frames are full of undocumented fields that can can cause all > kinds of problems if they contain bad data. The generic solution to this is not to let the user's operating system meddle with the frames. Keep the *real* frame somewhere private. Give him a fake one, with the documented fields filled in from the real one, and the rest full of magic numbers and checksums and so on. When he tries to do a return using the fake frame, check the checksums etc. If they're wrong, give him a simulated hardware failure. If they're right, give him a return using the real frame, adjusted to match any legitimate changes he's made to the fake one. -- Those who do not understand Unix are | Henry Spencer @ U of Toronto Zoology condemned to reinvent it, poorly. | {allegra,ihnp4,decvax,utai}!utzoo!henry