/[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 12 by dpavlin, Mon Oct 8 16:18:38 2007 UTC revision 28 by dpavlin, Mon Oct 8 16:20:26 2007 UTC
# Line 1  Line 1 
1  Release notes for Gavare's eXperimental Emulator (GXemul), 0.3.5  Release notes for Gavare's eXperimental Emulator (GXemul), 0.4.1
2  ================================================================  ================================================================
3    
4  Copyright (C) 2003-2005  Anders Gavare.  Copyright (C) 2003-2006  Anders Gavare.
5    
6    
7  GXemul is an experimental instruction-level machine emulator. It can be used to  GXemul is an experimental instruction-level machine emulator. Several
8  run binary code for MIPS-based machines, regardless of host platform. Several  emulation modes are available. In some modes, processors and surrounding
 emulation modes are available. For some modes, processors and surrounding  
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  (Non-MIPS emulation modes are also under development, but so far none of those  The documentation lists the machines and guest operating systems that can
13  modes has reached the completeness required to run unmodified operating  be regarded as "working" in GXemul. The best working guest operating
14  systems.)  systems are probably NetBSD/pmax, NetBSD/cats, and OpenBSD/cats.
   
 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.  
15    
         o)  64-bit MIPS dmult/dmultu has been fixed.  
16    
17          o)  slt* instructions for 64-bit MIPS were incorrectly implemented  Changes between release 0.4.0.1 and 0.4.1 include, among other things:
18              in the i386 backend. This has been fixed.  
19        o)  Some bugs in the dynamic translation core have been fixed, making
20            all emulation modes (especially the MIPS mode) more stable.
21    
22        o)  In the refactoring effort between 0.4.0 and 0.4.0.1, single-stepping
23            (and instruction tracing) of 64-bit programs was accidentally broken.
24            Single-stepping in 64-bit mode could result in strange exceptions.
25            This has been fixed in 0.4.1.
26    
27        o)  MIPS emulation performance has been improved somewhat:
28    
29            R3000: After removing some buggy code (hints for physical page
30            translations), it was possible to remove the workaround for R3000
31            caches which was needed in 0.4.0.1 to make Linux and Ultrix run.
32            This gives an overall speedup for R2000/R3000.
33    
34            For non-R3000, there have been some speedups as well. After fixing
35            reference count bugs for 64-bit addressing in the dyntrans system,
36            workarounds/hacks in the tlbwr/tlbwi instructions and in the ASID
37            change helper function could be removed.
38    
39        o)  A new -s command line option is now available, for dumping
40            raw runtime data/statistics on every instruction to a file.
41    
42            Currently, the following kinds of data can be dumped:
43    
44            1. the program counter (virtual address)
45            2. the physical address representation of the program counter
46            3. the internal dyntrans instruction call pointer, useful when
47               developing/optimizing the emulator
48    
49            This data can then be analyzed by external tools.
50    
51            (There was a -s command line option in previous releases of
52            the emulator, but it did not work as intended, and was not
53            usable from dyntrans emulation modes.)
54    
55    Please read the HISTORY files for more details.
56    
 There have been many other bug fixes and updates, most of which are not  
 visible.  
57    
58  Files included in this release are:  Files included in this release are:
59    
   BUGS                        A list of known bugs.  
60    HISTORY                     Detailed revision history / changelog.    HISTORY                     Detailed revision history / changelog.
61    LICENSE                     Copyright message / license.    LICENSE                     Copyright message / license.
62    README                      Quick start instructions, for the impatient.    README                      Quick start instructions, for the impatient.
63    RELEASE                     This file.    RELEASE                     This file.
64    TODO                        TODO notes.    TODO                        TODO notes.
65    configure, Makefile.skel    sh and make scripts for building GXemul.    configure, Makefile.skel    sh and make scripts for building GXemul.
66      demos                       Tutorial-like demos of testmachine functionality.
67    doc                         Documentation.    doc                         Documentation.
68    experiments                 Experimental code. (Usually not needed.)    experiments                 Experimental code. (Usually not needed.)
69    src                         Source code.    src                         Source code.
70    
71  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
72    should work on most Unix-like systems.
73    
 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.)  
74    
75  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
76  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 143  them like this is in order: Line 136  them like this is in order:
136    
137      This product includes software developed by Marc Horowitz.      This product includes software developed by Marc Horowitz.
138    
139        This product includes software developed by Brini.
140    
141        This product includes software developed by Mark Brinicombe
142        for the NetBSD Project.
143    
144        This product includes software developed by TooLs GmbH.
145    
146        This product includes software developed by Manuel Bouyer.
147    
148        This product includes software developed by the Alice Group.
149    
150        This product includes software developed by Ichiro FUKUHARA.
151    
152  Also, src/include/alpha_rpb.h requires the following:  Also, src/include/alpha_rpb.h requires the following:
153    
154      Copyright (c) 1994, 1995, 1996 Carnegie-Mellon University.      Copyright (c) 1994, 1995, 1996 Carnegie-Mellon University.
# Line 156  Also, src/include/alpha_rpb.h requires t Line 162  Also, src/include/alpha_rpb.h requires t
162      software, derivative works or modified versions, and any portions      software, derivative works or modified versions, and any portions
163      thereof, and that both notices appear in supporting documentation.      thereof, and that both notices appear in supporting documentation.
164    
   
165  See individual files for license details, if you plan to redistribute GXemul  See individual files for license details, if you plan to redistribute GXemul
166  or reuse code.  or reuse code.
167    
168  Thanks to (in no specific order) Joachim Buss, Juli Mallett, Juan RP, Alec  
169  Voropay, Göran Weinholt, Alexander Yurchenko, and everyone else who has  Thanks to (in no specific order) Joachim Buss, Olivier Houchard, Juli Mallett,
170  provided me with feedback.  Juan Romero Pardines, Alec Voropay, Göran Weinholt, Alexander Yurchenko, and
171    everyone else who has provided me with feedback.
172    
173  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
174  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.12  
changed lines
  Added in v.28

  ViewVC Help
Powered by ViewVC 1.1.26