/[gxemul]/trunk/RELEASE
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/RELEASE

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 20 by dpavlin, Mon Oct 8 16:19:23 2007 UTC revision 34 by dpavlin, Mon Oct 8 16:21:17 2007 UTC
# Line 1  Line 1 
1  Release notes for Gavare's eXperimental Emulator (GXemul), 0.3.7  Release notes for Gavare's eXperimental Emulator (GXemul), 0.4.4
2  ================================================================  ================================================================
3    
4  Copyright (C) 2003-2005  Anders Gavare.  Copyright (C) 2003-2007  Anders Gavare.
5    
6    
7  GXemul is an experimental instruction-level machine emulator. Several  GXemul is an experimental instruction-level machine emulator. Several
# Line 9  emulation modes are available. In some m Line 9  emulation modes are available. In some m
9  hardware components are emulated well enough to let unmodified operating  hardware components are emulated well enough to let unmodified operating
10  systems (e.g. NetBSD) run as if they were running on a real machine.  systems (e.g. NetBSD) run as if they were running on a real machine.
11    
12  MIPS processors are emulated using either a simple binary translation  Processors (ARM, MIPS, PowerPC, SuperH) are emulated using dynamic
13  layer ("recompilation"), which is used on Alpha and i386 hosts, or by  translation. Unlike some other dynamically translating emulators, GXemul
14  traditional interpretation (very very slow, but works on any host platform).  does not need to generate native code, only a "runnable intermediate
15    representation", and will thus run on any host architecture.
16  ARM and PowerPC processors are emulated using a newer dynamic translation  
17  system. Performance is somewhere between traditional interpretation and  The documentation lists the machines and guest operating systems that can
18  dynamic recompilation; however, the dynamic translation system used in  be regarded as "working" in GXemul. The best working guest operating
19  GXemul does NOT require platform-specific back-end code. In plain English,  systems are probably NetBSD/pmax and NetBSD/cats.
20  this means that the dyntrans system works on any host platform.  
21    
22  I have verified that the following "guest" operating systems can run inside  Changes between release 0.4.3 and 0.4.4 include, among other things:
23  the emulator. Instructions on how to install and run these can be found in  
24  the documentation.      o)  The interrupt subsystem has been redesigned. This means two things:
25    
26      Guest operating system             Emulated machine            x)  Internal code cleanup, which makes the whole emulator more
27      ----------------------             ----------------                maintainable. Instead of using magically encoded integers
28      NetBSD/pmax 2.1 (and 1.6.2)        DECstation 5000/200                for interrupts, strings are now used. These strings are in
29      OpenBSD/pmax 2.8-BETA              DECstation 5000/200                the form of "paths", so that devices and busses can more
30      Ultrix 4.2-4.5                     DECstation 5000/200                easily be connected to other busses, devices, or CPUs.
31      Sprite demo harddisk image         DECstation 5000/200  
32      Debian GNU/Linux for DECstation    DECstation 5000/200            x)  Some machine types which happened to work in release 0.4.3,
33      Redhat Linux 7.1 for mips          DECstation 5000/200                but were not listed in the documentation as working, may
34      NetBSD/arc 1.6.2                   Acer PICA-61                have stopped working now. As always, the documentation should
35      OpenBSD/arc 2.3                    Acer PICA-61                indicate the combinations of machine modes and guest OSes that
36      NetBSD/hpcmips 2.1                 NEC MobilePro 770, 780, 800, 880                are supposed to work.
37      NetBSD/cobalt 2.1                  Cobalt  
38      NetBSD/evbmips 2.1                 Malta 5Kc/4Kc evaluation board      o)  SuperH (SH4) emulation is now somewhat more stable, enough to let a
39      NetBSD/sgimips 2.1                 SGI O2 ("IP32")          NetBSD/dreamcast Live CD be usable.
40      NetBSD/cats 2.1                    CATS (ARM)  
41      OpenBSD/cats 3.8                   CATS (ARM)      o)  PowerPC "G4" emulation is now stable enough to let NetBSD/macppc
42      NetBSD/prep 2.1                    PReP (PowerPC Reference Platform)          run from a disk image. (Installing actually worked before, but the
43            NetBSD/macppc GENERIC kernel uses AltiVec instructions which were
44  Some of these guest operating systems are easier to install and run than          not implemented correctly.)
45  others. The best supported guest operating systems are probably NetBSD/pmax,  
46  NetBSD/cats and OpenBSD/cats.      o)  The PICA-61 (arc) and i80321 (evbarm) emulation modes now have their
47            timers fixed at 100 Hz. A hardcoded speed like this is very ugly, but
48  The emulator can also be used in other experiments; it does not have to run          it is at least better than before (when the timer wasn't really
49  entire guest operating systems. However, as GXemul is an instruction-level          running at any specific speed at all).
 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.  
50    
51      o)  Dyntrans updates; 32-bit PowerPC mostly, but also many performance  Please read the HISTORY files for more details.
         related updates for ARM.  
52    
 There have also been lots of other changes, too many and small to mention here.  
53    
54  Files included in this release are:  Files included in this release are:
55    
   BUGS                        A list of known bugs.  
56    HISTORY                     Detailed revision history / changelog.    HISTORY                     Detailed revision history / changelog.
57    LICENSE                     Copyright message / license.    LICENSE                     Copyright message / license.
58    README                      Quick start instructions, for the impatient.    README                      Quick start instructions, for the impatient.
59    RELEASE                     This file.    RELEASE                     This file.
60    TODO                        TODO notes.    TODO                        TODO notes.
61    configure, Makefile.skel    sh and make scripts for building GXemul.    configure, Makefile.skel    sh and make scripts for building GXemul.
62      demos                       Tutorial-like demos of testmachine functionality.
63    doc                         Documentation.    doc                         Documentation.
64    experiments                 Experimental code. (Usually not needed.)    experiments                 Experimental code. (Usually not needed.)
65    src                         Source code.    src                         Source code.
66    
67  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
68    should work on most Unix-like systems.
69    
 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.)  
70    
71  Regarding files in the src/include/ directory: only some of these are written  Regarding files in the src/include/ directory: only some of these are written
72  by me, the rest are from other sources (such as NetBSD). The license text says  by me, the rest are from other sources (such as NetBSD). The license text says
# Line 171  them like this is in order: Line 141  them like this is in order:
141    
142      This product includes software developed by Manuel Bouyer.      This product includes software developed by Manuel Bouyer.
143    
144        This product includes software developed by the Alice Group.
145    
146        This product includes software developed by Ichiro FUKUHARA.
147    
148        This product includes software developed by Marcus Comstedt.
149    
150  Also, src/include/alpha_rpb.h requires the following:  Also, src/include/alpha_rpb.h requires the following:
151    
152      Copyright (c) 1994, 1995, 1996 Carnegie-Mellon University.      Copyright (c) 1994, 1995, 1996 Carnegie-Mellon University.
# Line 187  Also, src/include/alpha_rpb.h requires t Line 163  Also, src/include/alpha_rpb.h requires t
163  See individual files for license details, if you plan to redistribute GXemul  See individual files for license details, if you plan to redistribute GXemul
164  or reuse code.  or reuse code.
165    
 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.  
166    
167  If you have found GXemul useful in some way, or feel like sending me comments  If you have found GXemul useful in some way, or feel like sending me comments
168  or feedback in general, then mail me at anders(at)gavare.se.  or feedback in general, then mail me at anders(at)gavare.se.

Legend:
Removed from v.20  
changed lines
  Added in v.34

  ViewVC Help
Powered by ViewVC 1.1.26