/[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 28 by dpavlin, Mon Oct 8 16:20:26 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.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.
# Line 14  be regarded as "working" in GXemul. The Line 14  be regarded as "working" in GXemul. The
14  systems are probably NetBSD/pmax, NetBSD/cats, and OpenBSD/cats.  systems are probably NetBSD/pmax, NetBSD/cats, and OpenBSD/cats.
15    
16    
17  Changes between release 0.4.0.1 and 0.4.1 include, among other things:  Changes between release 0.4.2 and 0.4.3 include, among other things:
18    
19      o)  Some bugs in the dynamic translation core have been fixed, making      o)  SuperH (SH4) emulation is now stable enough to let a NetBSD/dreamcast
20          all emulation modes (especially the MIPS mode) more stable.          GENERIC_MD (ramdisk) kernel reach userland.
21    
22      o)  In the refactoring effort between 0.4.0 and 0.4.0.1, single-stepping      o)  There is now a simple framework for letting emulated clocks, as seen
23          (and instruction tracing) of 64-bit programs was accidentally broken.          by guest operating systems, run at the same speed as the host clock.
         Single-stepping in 64-bit mode could result in strange exceptions.  
         This has been fixed in 0.4.1.  
24    
25      o)  MIPS emulation performance has been improved somewhat:          So far, the DECstation, MobilePro (hpcmips), NetWinder, CATS, Malta
26            (evbmips), Cobalt, Algor, Dreamcast, and testmips machine modes
27            use the new clock/timer framework.
28    
29          R3000: After removing some buggy code (hints for physical page      o)  Some changes to the way expressions are evaluated in the built-in
30          translations), it was possible to remove the workaround for R3000          debugger, and some changes in command behaviour:
         caches which was needed in 0.4.0.1 to make Linux and Ultrix run.  
         This gives an overall speedup for R2000/R3000.  
31    
32          For non-R3000, there have been some speedups as well. After fixing            x)  Expressions (including assignments) can now be arbitrarily
33          reference count bugs for 64-bit addressing in the dyntrans system,                complex, using parentheses, and the following operators:
         workarounds/hacks in the tlbwr/tlbwi instructions and in the ASID  
         change helper function could be removed.  
34    
35      o)  A new -s command line option is now available, for dumping                    + - * /    % (modulo)  ^ (xor)  & (and)  | (or)
         raw runtime data/statistics on every instruction to a file.  
36    
37          Currently, the following kinds of data can be dumped:            x)  Some internal emulator variables can now be read/written using
38                  normal expressions. Examples of commands that did not work
39                  earlier, but should work now:
40    
41          1. the program counter (virtual address)                    print verbose
42          2. the physical address representation of the program counter                    r5 = sp - arch_pagesize * 4
43          3. the internal dyntrans instruction call pointer, useful when                    machine[0].statistics_enabled = 1
            developing/optimizing the emulator  
44    
45          This data can then be analyzed by external tools.            x)  To force a name to be interpreted as a setting/register name,
46                  a hash sign (#) is now used instead of the percentage sign (%).
47                  (In the new expression evaluator, % means arithmetic modulo.)
48    
49          (There was a -s command line option in previous releases of            x)  The 'focus' command now also selects a cpu, in addition to
50          the emulator, but it did not work as intended, and was not                selecting machine and emul.
51          usable from dyntrans emulation modes.)  
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 149  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 166  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.  
   
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.28  
changed lines
  Added in v.32

  ViewVC Help
Powered by ViewVC 1.1.26