--- trunk/RELEASE 2007/10/08 16:18:11 6 +++ trunk/RELEASE 2007/10/08 16:19:23 20 @@ -1,21 +1,31 @@ -Release notes for GXemul 0.3.3.1 -================================ +Release notes for Gavare's eXperimental Emulator (GXemul), 0.3.7 +================================================================ Copyright (C) 2003-2005 Anders Gavare. -GXemul is an experimental instruction-level machine emulator. It can be -used to run binary code for (among others) MIPS-based machines. Several -emulation modes are available. For some emulation modes, processors and -surrounding hardware components are emulated well enough to let unmodified -operating systems run as if they were running on a real machine. - -I have verified that the following "guest" operating systems can run -inside the emulator: +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. + +MIPS processors are emulated using either a simple binary translation +layer ("recompilation"), which is used on Alpha and i386 hosts, or by +traditional interpretation (very very slow, but works on any host platform). + +ARM and PowerPC processors are emulated using a newer dynamic translation +system. Performance is somewhere between traditional interpretation and +dynamic recompilation; however, the dynamic translation system used in +GXemul does NOT require platform-specific back-end code. In plain English, +this means that the dyntrans system works on any host platform. + +I have verified that the following "guest" operating systems can run inside +the emulator. Instructions on how to install and run these can be found in +the documentation. Guest operating system Emulated machine ---------------------- ---------------- - NetBSD/pmax 2.0 (and 1.6.2) DECstation 5000/200 + NetBSD/pmax 2.1 (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 @@ -23,31 +33,51 @@ 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 NEC MobilePro 770, 780, 800, 880 - NetBSD/cobalt 2.0 Cobalt + NetBSD/hpcmips 2.1 NEC MobilePro 770, 780, 800, 880 + NetBSD/cobalt 2.1 Cobalt + NetBSD/evbmips 2.1 Malta 5Kc/4Kc evaluation board + NetBSD/sgimips 2.1 SGI O2 ("IP32") + NetBSD/cats 2.1 CATS (ARM) + OpenBSD/cats 3.8 CATS (ARM) + NetBSD/prep 2.1 PReP (PowerPC Reference Platform) + +Some of these guest operating systems are easier to install and run than +others. The best supported guest operating systems are probably NetBSD/pmax, +NetBSD/cats and OpenBSD/cats. + +The emulator can also be used in other experiments; it does not have to run +entire guest operating systems. However, as GXemul is an instruction-level +emulator, it 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. + +User-visible change between release 0.3.6.2 and 0.3.7 include: + + o) The experimental PowerPC emulation mode is now working well enough + to allow NetBSD/prep 2.1 to be installed and run inside the emulator. + It is not 100% stable, and it is not optimized for performance yet, + but hopefully enough for simple experiments. + + o) I finally took the time to implement a DEC 21143 NIC; this brings + network connectivity to NetBSD/cats. (The userland "NAT"-like + networking layer is still a bit buggy, and does not work with + everything. However, NetBSD/cats can now be installed via ftp.) + + o) CD-ROM images can now in some cases be detected as ATAPI CD-ROMs + instead of IDE harddisks. It works for at least NetBSD, OpenBSD, + and Linux on CATS, and NetBSD on hpcmips. + +Internal (code related) changes include: + + o) Cleanup of the PCI and ISA bus frameworks; in practice this means + that more code can be shared between different emulated machine + models than before, and that adding new machine types will become + easier. -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. It is important to remember, though, -that GXemul does not simulate things smaller than an instruction; this -means that pipe-line stalls, penalties caused by branch-prediction misses, -and other effects are not simulated. - -Summary of changes between release 0.3.2 and 0.3.3.1: - - x) When booting from an ISO9660 (CDROM) filesystem image, the kernel - can now in some cases be read directly from the image, so there is - no need any longer to supply an external kernel. (It is a quick, - buggy, and very ugly hack, but it sometimes works.) - - x) Mixing more than one disk image type (SCSI, IDE, PC-style floppy) - within one emulated machine is now possible. (There is however no - stable emulation mode yet that uses this.) + o) Dyntrans updates; 32-bit PowerPC mostly, but also many performance + related updates for ARM. - x) Many minor updates and bugfixes. +There have also been lots of other changes, too many and small to mention here. Files included in this release are: @@ -61,7 +91,6 @@ doc Documentation. experiments Experimental code. (Usually not needed.) src Source code. - tests Regression tests. To build the emulator, run the ./configure script, and then run make. @@ -133,10 +162,34 @@ 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. + +Also, src/include/alpha_rpb.h requires the following: + + Copyright (c) 1994, 1995, 1996 Carnegie-Mellon University. + All rights reserved. + + Author: Keith Bostic, Chris G. Demetriou + + Permission to use, copy, modify and distribute this software and + its documentation is hereby granted, provided that both the copyright + notice and this permission notice appear in all copies of the + 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 everyone who has provided me with feedback. +Thanks to (in no specific order) Joachim Buss, 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.