--- trunk/RELEASE 2007/10/08 16:18:38 12 +++ trunk/RELEASE 2007/10/08 16:20:40 30 @@ -1,83 +1,65 @@ -Release notes for Gavare's eXperimental Emulator (GXemul), 0.3.5 +Release notes for Gavare's eXperimental Emulator (GXemul), 0.4.2 ================================================================ -Copyright (C) 2003-2005 Anders Gavare. +Copyright (C) 2003-2006 Anders Gavare. -GXemul is an experimental instruction-level machine emulator. It can be used to -run binary code for MIPS-based machines, regardless of host platform. Several -emulation modes are available. For some modes, processors and surrounding +GXemul is an experimental instruction-level machine emulator. Several +emulation modes are available. In some modes, processors and surrounding hardware components are emulated well enough to let unmodified operating systems (e.g. NetBSD) run as if they were running on a real machine. -(Non-MIPS emulation modes are also under development, but so far none of those -modes has reached the completeness required to run unmodified operating -systems.) - -I have verified that the following "guest" operating systems can run inside -the emulator: - - Guest operating system Emulated machine - ---------------------- ---------------- - NetBSD/pmax 2.0.2 (and 1.6.2) DECstation 5000/200 - OpenBSD/pmax 2.8-BETA DECstation 5000/200 - Ultrix 4.2-4.5 DECstation 5000/200 - Sprite demo harddisk image DECstation 5000/200 - Debian GNU/Linux for DECstation DECstation 5000/200 - Redhat Linux 7.1 for mips DECstation 5000/200 - NetBSD/arc 1.6.2 Acer PICA-61 - OpenBSD/arc 2.3 Acer PICA-61 - NetBSD/hpcmips 2.0.2 NEC MobilePro 770, 780, 800, 880 - NetBSD/cobalt 2.0.2 Cobalt - NetBSD/evbmips 2.0.2 Malta 5Kc/4Kc evaluation board - NetBSD/sgimips 2.0.2 SGI O2 ("IP32") - -Some of these guest operating systems are easier to install and run than -others. The best supported mode is the DECstation 5000/200 emulation mode, with -NetBSD/pmax as the guest operating system. - -A couple of other emulation modes exist. Some of these modes are almost working -well enough to run complete guest operating systems, but most are just -skeletons. The modes that work are listed in the documentation. - -The emulator can also be used in other experiments; it does not have to run -entire guest operating systems. (However, GXemul does not simulate things -smaller than an instruction. What this means is that pipe-line stalls, -penalties caused by branch-prediction misses or cache misses, and other -micro-architectural effects are not simulated.) - -The user-visible changes between release 0.3.4 and 0.3.5 are minor, and -can be summarized as follows: - - o) Updates to the (old) binary translation subsystem, resulting - in minor speed improvements. +The documentation lists the machines and guest operating systems that can +be regarded as "working" in GXemul. The best working guest operating +systems are probably NetBSD/pmax, NetBSD/cats, and OpenBSD/cats. - o) 64-bit MIPS dmult/dmultu has been fixed. - o) slt* instructions for 64-bit MIPS were incorrectly implemented - in the i386 backend. This has been fixed. +Changes between release 0.4.1 and 0.4.2 include, among other things: + + o) The NetWinder emulation mode now works well enough to let + NetBSD/netwinder run from a disk image. + + (NetBSD/netwinder has to be installed manually, though, because + there is no installation ramdisk kernel. The GXemul documentation + has an example of how to install NetBSD/netwinder using an emulated + NetBSD/pmax machine.) + + o) Algorithmics P5064 emulation works well enough to let NetBSD/algor + run from a disk image. (Similar to NetBSD/netwinder, it has to + be installed manually, using another emulated machine.) + + o) PCI configuration register writes can now be handled, which allows + NetBSD/Malta (evbmips) 3.0.1 and NetBSD/cobalt 3.0.1 to run from + PCI IDE harddisk images. (Previously, only NetBSD 2.1 worked for + the Malta and Cobalt emulation modes.) + + o) Some performance increases: + + The virtual translation table update routine has been simplified + to work the same way for 32-bit and 64-bit emulation, and this + apparently results in a speedup for all 64-bit modes. + + For 32-bit MIPS, some more instruction combinations have been added. + +Please read the HISTORY files for more details. -There have been many other bug fixes and updates, most of which are not -visible. Files included in this release are: - BUGS A list of known bugs. HISTORY Detailed revision history / changelog. LICENSE Copyright message / license. README Quick start instructions, for the impatient. RELEASE This file. TODO TODO notes. configure, Makefile.skel sh and make scripts for building GXemul. + demos Tutorial-like demos of testmachine functionality. doc Documentation. experiments Experimental code. (Usually not needed.) src Source code. -To build the emulator, run the ./configure script, and then run make. +To build the emulator, run the configure script, and then run make. This +should work on most Unix-like systems. -Building the emulator should work on most Unix-like systems. (One system which -is specifically known to NOT work is Ultrix/RISC inside the emulator; Ultrix -chokes on the configure script and the default cc in Ultrix doesn't work.) Regarding files in the src/include/ directory: only some of these are written by me, the rest are from other sources (such as NetBSD). The license text says @@ -143,6 +125,19 @@ This product includes software developed by Marc Horowitz. + This product includes software developed by Brini. + + This product includes software developed by Mark Brinicombe + for the NetBSD Project. + + This product includes software developed by TooLs GmbH. + + This product includes software developed by Manuel Bouyer. + + This product includes software developed by the Alice Group. + + This product includes software developed by Ichiro FUKUHARA. + Also, src/include/alpha_rpb.h requires the following: Copyright (c) 1994, 1995, 1996 Carnegie-Mellon University. @@ -156,13 +151,13 @@ software, derivative works or modified versions, and any portions thereof, and that both notices appear in supporting documentation. - See individual files for license details, if you plan to redistribute GXemul or reuse code. -Thanks to (in no specific order) Joachim Buss, Juli Mallett, Juan RP, Alec -Voropay, Göran Weinholt, Alexander Yurchenko, and everyone else who has -provided me with feedback. + +Thanks to (in no specific order) Joachim Buss, Olivier Houchard, Juli Mallett, +Juan Romero Pardines, Alec Voropay, Göran Weinholt, Alexander Yurchenko, and +everyone else who has provided me with feedback. If you have found GXemul useful in some way, or feel like sending me comments or feedback in general, then mail me at anders(at)gavare.se.