/[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 14 by dpavlin, Mon Oct 8 16:18:51 2007 UTC revision 36 by dpavlin, Mon Oct 8 16:21:34 2007 UTC
# Line 1  Line 1 
1  Release notes for Gavare's eXperimental Emulator (GXemul), 0.3.6  Release notes for Gavare's eXperimental Emulator (GXemul), 0.4.4.1
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  The processor architecture best emulated by GXemul is MIPS, but other  Processors (ARM, MIPS, PowerPC, SuperH) are emulated using dynamic
13  architectures are also partially emulated.  translation. Unlike some other dynamically translating emulators, GXemul
14    does not need to generate native code, only a "runnable intermediate
15    representation", and will thus run on any host architecture.
16    
17  I have verified that the following "guest" operating systems can run inside  The documentation lists the machines and guest operating systems that can
18  the emulator:  be regarded as "working" in GXemul. The best working guest operating
19    systems are probably NetBSD/pmax and NetBSD/cats.
20    
     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")  
     NetBSD/cats 2.0.2                  CATS (ARM)  
     OpenBSD/cats 3.7                   CATS (ARM)  
   
 (Most of these are MIPS-based machines, except the CATS, which is an  
 ARM-based machine.)  
   
 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 most imporant user-visible change between release 0.3.5 and 0.3.6 is:  
   
    (X)  The experimental ARM emulation mode is now working well enough  
         to install NetBSD/cats and OpenBSD/cats onto harddisk images.  
   
 There are two minor issues with the ARM emulation:  
   
    1) A bug is triggered at the end of the OpenBSD/cats installation,  
       so the MAKEDEV script must be run manually before booting for  
       the first time.  
21    
22     2) I have not had time to do any performance optimizations yet, so  Changes between release 0.4.3 and 0.4.4.1 include, among other things:
23        the ARM emulation mode is not very fast.  
24        o)  The interrupt subsystem has been redesigned. This means two things:
25    
26              x)  Internal code cleanup, which makes the whole emulator more
27                  maintainable. Instead of using magically encoded integers
28                  for interrupts, strings are now used. These strings are in
29                  the form of "paths", so that devices and busses can more
30                  easily be connected to other busses, devices, or CPUs.
31    
32              x)  Some machine types which happened to work in release 0.4.3,
33                  but were not listed in the documentation as working, may
34                  have stopped working now. As always, the documentation should
35                  indicate the combinations of machine modes and guest OSes that
36                  are supposed to work.
37    
38        o)  SuperH (SH4) emulation is now somewhat more stable.
39    
40              x)  GXemul 0.4.4:    A NetBSD/dreamcast Live CD works.
41              x)  GXemul 0.4.4.1:  A Linux/dreamcast Live CD also works.
42    
43        o)  PowerPC "G4" emulation is now stable enough to let NetBSD/macppc
44            run from a disk image. (Installing actually worked before, but the
45            NetBSD/macppc GENERIC kernel uses AltiVec instructions which were
46            not implemented correctly.)
47    
48        o)  The PICA-61 (arc) and i80321 (evbarm) emulation modes now have their
49            timers fixed at 100 Hz. A hardcoded speed like this is very ugly, but
50            it is at least better than before (when the timer wasn't really
51            running at any specific speed at all).
52    
53    Please read the HISTORY files for more details.
54    
 There have also been lots of other small changes, too small to mention here.  
55    
56  Files included in this release are:  Files included in this release are:
57    
   BUGS                        A list of known bugs.  
58    HISTORY                     Detailed revision history / changelog.    HISTORY                     Detailed revision history / changelog.
59    LICENSE                     Copyright message / license.    LICENSE                     Copyright message / license.
60    README                      Quick start instructions, for the impatient.    README                      Quick start instructions, for the impatient.
61    RELEASE                     This file.    RELEASE                     This file.
62    TODO                        TODO notes.    TODO                        TODO notes.
63    configure, Makefile.skel    sh and make scripts for building GXemul.    configure, Makefile.skel    sh and make scripts for building GXemul.
64      demos                       Tutorial-like demos of testmachine functionality.
65    doc                         Documentation.    doc                         Documentation.
66    experiments                 Experimental code. (Usually not needed.)    experiments                 Experimental code. (Usually not needed.)
67    src                         Source code.    src                         Source code.
68    
69  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
70    should work on most Unix-like systems.
71    
 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.)  
72    
73  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
74  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 153  them like this is in order: Line 139  them like this is in order:
139      This product includes software developed by Mark Brinicombe      This product includes software developed by Mark Brinicombe
140      for the NetBSD Project.      for the NetBSD Project.
141    
142        This product includes software developed by TooLs GmbH.
143    
144        This product includes software developed by Manuel Bouyer.
145    
146        This product includes software developed by the Alice Group.
147    
148        This product includes software developed by Ichiro FUKUHARA.
149    
150        This product includes software developed by Marcus Comstedt.
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 169  Also, src/include/alpha_rpb.h requires t Line 165  Also, src/include/alpha_rpb.h requires t
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    
 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.  
168    
169  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
170  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.14  
changed lines
  Added in v.36

  ViewVC Help
Powered by ViewVC 1.1.26