/[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 26 by dpavlin, Mon Oct 8 16:20:10 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.4.0.1  Release notes for Gavare's eXperimental Emulator (GXemul), 0.4.3
2  ==================================================================  ================================================================
3    
4  Copyright (C) 2003-2006  Anders Gavare.  Copyright (C) 2003-2006  Anders Gavare.
5    
# Line 10  hardware components are emulated well en Line 10  hardware components are emulated well en
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 documentation lists the machines and guest operating systems that can  The documentation lists the machines and guest operating systems that can
13  be regarded as "working" in GXemul. The best supported guest operating  be regarded as "working" in GXemul. The best working guest operating
14  systems are probably NetBSD/pmax, NetBSD/cats, and OpenBSD/cats.  systems are probably NetBSD/pmax, NetBSD/cats, and OpenBSD/cats.
15    
16    
17  The most important change between release 0.3.8 and 0.4.0.1 is:  Changes between release 0.4.2 and 0.4.3 include, among other things:
18    
19      o)  The emulation of MIPS processors has been completely rewritten;      o)  SuperH (SH4) emulation is now stable enough to let a NetBSD/dreamcast
20          it now uses the same portable dynamic translation system as the          GENERIC_MD (ramdisk) kernel reach userland.
         ARM and PowerPC emulation modes.  
21    
22          On Alpha and i386 hosts (and AMD64 hosts running in 32-bit mode),      o)  There is now a simple framework for letting emulated clocks, as seen
23          GXemul previously used translation into native code. This release          by guest operating systems, run at the same speed as the host clock.
         will perform worse than 0.3.8 on those host architectures.  
24    
25          On all other hosts (including AMD64 running in native 64-bit mode),          So far, the DECstation, MobilePro (hpcmips), NetWinder, CATS, Malta
26          0.4.0 is likely to be faster than 0.3.8, when emulating MIPS.          (evbmips), Cobalt, Algor, Dreamcast, and testmips machine modes
27            use the new clock/timer framework.
28    
29          I think that in the long term, moving towards full portability like      o)  Some changes to the way expressions are evaluated in the built-in
30          this is a good idea.          debugger, and some changes in command behaviour:
31    
32  (0.4.0 was a bit buggy and unstable; 0.4.0.1 is a quick-fix release.)            x)  Expressions (including assignments) can now be arbitrarily
33                  complex, using parentheses, and the following operators:
34    
35  There have also been many other changes, including, but not limited to:                    + - * /    % (modulo)  ^ (xor)  & (and)  | (or)
36    
37      o)  The "test machine" functionality is more well-defined than before,            x)  Some internal emulator variables can now be read/written using
38          and some tutorial-like demos have been added. These could be useful                normal expressions. Examples of commands that did not work
39          e.g. in operating system construction courses.                earlier, but should work now:
40    
41      o)  NetBSD/sgimips 3.0 works now. This is most likely due to the rewrite                    print verbose
42          of the MIPS emulation mode. Previous releases of GXemul only worked                    r5 = sp - arch_pagesize * 4
43          with NetBSD/sgimips 2.1.                    machine[0].statistics_enabled = 1
44    
45      o)  I have begun implementing rudimentary support for GDB remote serial            x)  To force a name to be interpreted as a setting/register name,
46          protocol connections. This means that you can run e.g. the Data                a hash sign (#) is now used instead of the percentage sign (%).
47          Display Debugger, and connect it to a GXemul instance.                (In the new expression evaluator, % means arithmetic modulo.)
48    
49          No advanced GDB functionality is working yet, but starting and            x)  The 'focus' command now also selects a cpu, in addition to
50          stopping the emulated machine and single-stepping should work.                selecting machine and emul.
51    
52              x)  The 'reg' command only prints registers for one cpu now, not
53                  all cpus in the currently focused machine.
54    
55        o)  The wdc (standard IDE controller) had a bug which prevented disk
56            images larger than 2 GB to work correctly. This has been fixed.
57    
58        o)  For MIPS emulation, some combinations of emulated processor + guest
59            operating system should now work better when idling (i.e. the host
60            should not run at 100% CPU):
61    
62              x)  For MIPS32/MIPS64 and RM5200, the 'wait' instruction should
63                  now work more or less as expected.
64    
65              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.  Please read the HISTORY files for more details.
97    
# Line 146  them like this is in order: Line 190  them like this is in order:
190    
191      This product includes software developed by Ichiro FUKUHARA.      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 163  See individual files for license details Line 209  See individual files for license details
209  or reuse code.  or reuse code.
210    
211    
 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.  
   
 Special thanks to Alec Voropay for testing this release with Linux  
 kernels, and on Cygwin, and also thanks to Ondrej Palkovsky for testing  
 with HelenOS.  
   
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.
214    

Legend:
Removed from v.26  
changed lines
  Added in v.32

  ViewVC Help
Powered by ViewVC 1.1.26