--- trunk/RELEASE 2007/10/08 16:19:23 20 +++ trunk/RELEASE 2007/10/08 16:19:37 22 @@ -1,7 +1,7 @@ -Release notes for Gavare's eXperimental Emulator (GXemul), 0.3.7 +Release notes for Gavare's eXperimental Emulator (GXemul), 0.3.8 ================================================================ -Copyright (C) 2003-2005 Anders Gavare. +Copyright (C) 2003-2006 Anders Gavare. GXemul is an experimental instruction-level machine emulator. Several @@ -9,73 +9,30 @@ 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.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 - 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.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. +The documentation lists the machines and guest operating systems that can +be regarded as "working" in GXemul. The best supported guest operating +systems are probably NetBSD/pmax, NetBSD/cats, and OpenBSD/cats. - o) Dyntrans updates; 32-bit PowerPC mostly, but also many performance - related updates for ARM. +The user-visible changes between release 0.3.7 and 0.3.8 include: + + o) The IQ80321 (Xscale) machine mode is now working well enough to + run NetBSD/evbarm 2.1. + + o) Faster framebuffer output in some situations. + +Source code related changes include: + + o) I've finally begun to reimplement the MIPS emulation mode using the + new dyntrans system. It will be quite some time until it can run + anything, but things are moving in the right direction. + + o) Some changes to the concepts of input-only, output-only, and + input-output consoles. + + o) Some more clean-up of PCI bus concepts. + + o) Machine definitions have been moved out of src/machines.c, and into + individual files in a new sub-directory (src/machines/). There have also been lots of other changes, too many and small to mention here. @@ -92,11 +49,8 @@ experiments Experimental code. (Usually not needed.) src Source code. -To build the emulator, run the ./configure script, and then run make. - -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.) +To build the emulator, run the ./configure script, and then run make. This +should work on most Unix-like systems. 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 @@ -171,6 +125,8 @@ This product includes software developed by Manuel Bouyer. + This product includes software developed by the Alice Group. + Also, src/include/alpha_rpb.h requires the following: Copyright (c) 1994, 1995, 1996 Carnegie-Mellon University. @@ -187,9 +143,9 @@ 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 Romero -Pardines, 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.