Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watmath!clyde!rutgers!psuvax1!burdvax!sdcrdcf!ism780c!tim From: tim@ism780c.UUCP Newsgroups: comp.sys.m68k Subject: Re: Virtual Machine (was: Apollo (was: MINIX port to A1000)) Message-ID: <8046@ism780c.UUCP> Date: Tue, 24-Nov-87 21:33:53 EST Article-I.D.: ism780c.8046 Posted: Tue Nov 24 21:33:53 1987 Date-Received: Sat, 28-Nov-87 13:21:18 EST References: <8711050534.AA25885@jade.berkeley.edu> <7862@ism780c.UUCP> <8965@utzoo.UUCP> <1856@bloom-beacon.MIT.EDU> Reply-To: tim@ism780c.UUCP (Tim Smith) Organization: Interactive Systems Corp., Santa Monica CA Lines: 35 Keywords: virtual machine, emulation, 68010 wolfgang@mgm.mit.edu (Wolfgang Rupprecht) writes: < >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. [...] < < There is still a real problem here. If the kernel keeps a copy of the < real frames, it will have to keep them *forever* (possibly even < across reboots), since a user might want to restart his faulted program < at any time. This puts the burden of storing a possibly infinite number < of bytes, on the kernel. For example, on Unix, and program that dies with a bus error is going to leave a stack frame around in the virtual OS. It seems to me that the only way to deal with this problem is for Motorola to publish an algorithm for checking bus error frames, or for people to not do virtual machines on the 68k series. Actually, another way would be to make it so that the virtual machine never gets a bus error, i.e., the virtual machine appears to have it's full address space full of memory, so that it never has to deal with a page fault. And if it is an 020, there will be no address errors. ( they did remove alignment requirements, right? it's been a while...). Then, you only have to deal with long stack frames that are explicitly built by the OS running under the virtual machine. Simply not allowing this might not be an unreasonable restriction to place on OS's running under the virtual system. -- "Every person who, within any public cemetary or burying-ground, kills, wounds or traps any bird, or destroys any bird's nest other than swallows' nests, or removes any eggs or young birds from any nest, is guilty of a misdemeanor" California Penal Code, section 598 Tim Smith tim@ism780c.isc.com