/[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 16 by dpavlin, Mon Oct 8 16:19:01 2007 UTC revision 32 by dpavlin, Mon Oct 8 16:20:58 2007 UTC
# Line 1  Line 1 
1  Release notes for Gavare's eXperimental Emulator (GXemul), 0.3.6.1  Release notes for Gavare's eXperimental Emulator (GXemul), 0.4.3
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. 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  The documentation lists the machines and guest operating systems that can
13  architectures are also partially emulated.  be regarded as "working" in GXemul. The best working guest operating
14    systems are probably NetBSD/pmax, NetBSD/cats, and OpenBSD/cats.
15    
 I have verified that the following "guest" operating systems can run inside  
 the emulator:  
16    
17      Guest operating system             Emulated machine  Changes between release 0.4.2 and 0.4.3 include, among other things:
18      ----------------------             ----------------  
19      NetBSD/pmax 2.0.2 (and 1.6.2)      DECstation 5000/200      o)  SuperH (SH4) emulation is now stable enough to let a NetBSD/dreamcast
20      OpenBSD/pmax 2.8-BETA              DECstation 5000/200          GENERIC_MD (ramdisk) kernel reach userland.
21      Ultrix 4.2-4.5                     DECstation 5000/200  
22      Sprite demo harddisk image         DECstation 5000/200      o)  There is now a simple framework for letting emulated clocks, as seen
23      Debian GNU/Linux for DECstation    DECstation 5000/200          by guest operating systems, run at the same speed as the host clock.
24      Redhat Linux 7.1 for mips          DECstation 5000/200  
25      NetBSD/arc 1.6.2                   Acer PICA-61          So far, the DECstation, MobilePro (hpcmips), NetWinder, CATS, Malta
26      OpenBSD/arc 2.3                    Acer PICA-61          (evbmips), Cobalt, Algor, Dreamcast, and testmips machine modes
27      NetBSD/hpcmips 2.0.2               NEC MobilePro 770, 780, 800, 880          use the new clock/timer framework.
28      NetBSD/cobalt 2.0.2                Cobalt  
29      NetBSD/evbmips 2.0.2               Malta 5Kc/4Kc evaluation board      o)  Some changes to the way expressions are evaluated in the built-in
30      NetBSD/sgimips 2.0.2               SGI O2 ("IP32")          debugger, and some changes in command behaviour:
31      NetBSD/cats 2.0.2                  CATS (ARM)  
32      OpenBSD/cats 3.7                   CATS (ARM)            x)  Expressions (including assignments) can now be arbitrarily
33                  complex, using parentheses, and the following operators:
34  (Most of these are MIPS-based machines, except the CATS, which is an  
35  ARM-based machine.)                    + - * /    % (modulo)  ^ (xor)  & (and)  | (or)
36    
37  Some of these guest operating systems are easier to install and run than            x)  Some internal emulator variables can now be read/written using
38  others. The best supported mode is the DECstation 5000/200 emulation mode,                normal expressions. Examples of commands that did not work
39  with NetBSD/pmax as the guest operating system.                earlier, but should work now:
40    
41  A couple of other emulation modes exist. Some of these modes are almost                    print verbose
42  working well enough to run complete guest operating systems, but most are                    r5 = sp - arch_pagesize * 4
43  just skeletons. The modes that work are listed in the documentation.                    machine[0].statistics_enabled = 1
44    
45  The emulator can also be used in other experiments; it does not have to run            x)  To force a name to be interpreted as a setting/register name,
46  entire guest operating systems. (However, GXemul does not simulate things                a hash sign (#) is now used instead of the percentage sign (%).
47  smaller than an instruction. What this means is that pipe-line stalls,                (In the new expression evaluator, % means arithmetic modulo.)
48  penalties caused by branch-prediction misses or cache misses, and other  
49  micro-architectural effects are not simulated.)            x)  The 'focus' command now also selects a cpu, in addition to
50                  selecting machine and emul.
51  The most imporant user-visible change between release 0.3.5 and 0.3.6 is:  
52              x)  The 'reg' command only prints registers for one cpu now, not
53      x)  The experimental ARM emulation mode is now working well enough                all cpus in the currently focused machine.
54          to install NetBSD/cats and OpenBSD/cats onto harddisk images.  
55        o)  The wdc (standard IDE controller) had a bug which prevented disk
56  There have also been lots of other small changes, too small to mention here.          images larger than 2 GB to work correctly. This has been fixed.
57    
58  The 0.3.6.1 release fixes some issues related to ARM emulation:      o)  For MIPS emulation, some combinations of emulated processor + guest
59            operating system should now work better when idling (i.e. the host
60      x)  The emulator can now be compiled inside NetBSD/cats or OpenBSD/cats,          should not run at 100% CPU):
61          inside the emulator itself. (In 0.3.6, some bugs prevented this.)  
62              x)  For MIPS32/MIPS64 and RM5200, the 'wait' instruction should
63      x)  Performance increase:  A non-scientific but realistic test, measuring                now work more or less as expected.
64          the real-world time it takes to do a full NetBSD/cats installation,  
65          seems to indicate that 0.3.6.1 can be twice as fast as 0.3.6 was.            x)  For VR41xx (e.g. MobilePro) emulation, the standby instruction
66                  should work like the 'wait' instruction.
67    
68              x)  For R3000 emulation, where there is no hardware wait instruction,
69                  I've implemented "instruction combination" hacks for both
70                  NetBSD/pmax and Debian/pmax, so that their cpu idle loops are
71                  detected and treated almost as a wait instruction.
72    
73        o)  MIPS 64-bit address translation (X=1) was not fully working before;
74            TLB exception handling for xkseg and larger-than-2GB-userland should
75            now actually work. (Thanks to Juli Mallett and Carl van Schaik for
76            noticing these problems.)
77    
78        o)  The mouse cursor update routines in DECstation (LK201) emulation
79            previously used the fact that guest OSes set the _hardware_
80            cursor position. In order to support X Windows when emulating
81            modern versions of NetBSD/pmax, which don't set the hardware
82            position anymore, a workaround has been implemented which only
83            sends relative coordinates to the guest OS. This has two drawbacks:
84    
85            1. Ultrix emulation with dual- and tripple-head emulation will
86               most likely feel very strange. It will still work, though.
87    
88            2. Cursor movement feels "accelerated", because the emulator
89               sends unaccelerated movements to the guest OS, which then
90               accelerates them. This can however be compensated to some
91               degree by running 'xset m 1 0' in the guest OS.
92    
93            Having weird accelerated mouse movement is better than having no
94            mouse support at all, so this change was necessary.
95    
96    Please read the HISTORY files for more details.
97    
98    
99  Files included in this release are:  Files included in this release are:
100    
   BUGS                        A list of known bugs.  
101    HISTORY                     Detailed revision history / changelog.    HISTORY                     Detailed revision history / changelog.
102    LICENSE                     Copyright message / license.    LICENSE                     Copyright message / license.
103    README                      Quick start instructions, for the impatient.    README                      Quick start instructions, for the impatient.
104    RELEASE                     This file.    RELEASE                     This file.
105    TODO                        TODO notes.    TODO                        TODO notes.
106    configure, Makefile.skel    sh and make scripts for building GXemul.    configure, Makefile.skel    sh and make scripts for building GXemul.
107      demos                       Tutorial-like demos of testmachine functionality.
108    doc                         Documentation.    doc                         Documentation.
109    experiments                 Experimental code. (Usually not needed.)    experiments                 Experimental code. (Usually not needed.)
110    src                         Source code.    src                         Source code.
111    
112  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
113    should work on most Unix-like systems.
114    
 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.)  
115    
116  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
117  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 182  them like this is in order:
182      This product includes software developed by Mark Brinicombe      This product includes software developed by Mark Brinicombe
183      for the NetBSD Project.      for the NetBSD Project.
184    
185        This product includes software developed by TooLs GmbH.
186    
187        This product includes software developed by Manuel Bouyer.
188    
189        This product includes software developed by the Alice Group.
190    
191        This product includes software developed by Ichiro FUKUHARA.
192    
193        This product includes software developed by Marcus Comstedt.
194    
195  Also, src/include/alpha_rpb.h requires the following:  Also, src/include/alpha_rpb.h requires the following:
196    
197      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 208  Also, src/include/alpha_rpb.h requires t
208  See individual files for license details, if you plan to redistribute GXemul  See individual files for license details, if you plan to redistribute GXemul
209  or reuse code.  or reuse code.
210    
 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.  
211    
212  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
213  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.16  
changed lines
  Added in v.32

  ViewVC Help
Powered by ViewVC 1.1.26