/[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 32 by dpavlin, Mon Oct 8 16:20:58 2007 UTC revision 38 by dpavlin, Mon Oct 8 16:21:53 2007 UTC
# Line 1  Line 1 
1  Release notes for Gavare's eXperimental Emulator (GXemul), 0.4.3  Release notes for Gavare's eXperimental Emulator (GXemul), 0.4.5
2  ================================================================  ================================================================
3    
4  Copyright (C) 2003-2006  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    Processors (ARM, MIPS, PowerPC, SuperH) are emulated using dynamic
13    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  The documentation lists the machines and guest operating systems that can  The documentation lists the machines and guest operating systems that can
18  be regarded as "working" in GXemul. The best working guest operating  be regarded as "working" in GXemul. The best working guest operating
19  systems are probably NetBSD/pmax, NetBSD/cats, and OpenBSD/cats.  systems are probably NetBSD/pmax and NetBSD/cats.
   
   
 Changes between release 0.4.2 and 0.4.3 include, among other things:  
   
     o)  SuperH (SH4) emulation is now stable enough to let a NetBSD/dreamcast  
         GENERIC_MD (ramdisk) kernel reach userland.  
   
     o)  There is now a simple framework for letting emulated clocks, as seen  
         by guest operating systems, run at the same speed as the host clock.  
   
         So far, the DECstation, MobilePro (hpcmips), NetWinder, CATS, Malta  
         (evbmips), Cobalt, Algor, Dreamcast, and testmips machine modes  
         use the new clock/timer framework.  
   
     o)  Some changes to the way expressions are evaluated in the built-in  
         debugger, and some changes in command behaviour:  
   
           x)  Expressions (including assignments) can now be arbitrarily  
               complex, using parentheses, and the following operators:  
   
                   + - * /    % (modulo)  ^ (xor)  & (and)  | (or)  
   
           x)  Some internal emulator variables can now be read/written using  
               normal expressions. Examples of commands that did not work  
               earlier, but should work now:  
   
                   print verbose  
                   r5 = sp - arch_pagesize * 4  
                   machine[0].statistics_enabled = 1  
   
           x)  To force a name to be interpreted as a setting/register name,  
               a hash sign (#) is now used instead of the percentage sign (%).  
               (In the new expression evaluator, % means arithmetic modulo.)  
   
           x)  The 'focus' command now also selects a cpu, in addition to  
               selecting machine and emul.  
   
           x)  The 'reg' command only prints registers for one cpu now, not  
               all cpus in the currently focused machine.  
   
     o)  The wdc (standard IDE controller) had a bug which prevented disk  
         images larger than 2 GB to work correctly. This has been fixed.  
   
     o)  For MIPS emulation, some combinations of emulated processor + guest  
         operating system should now work better when idling (i.e. the host  
         should not run at 100% CPU):  
   
           x)  For MIPS32/MIPS64 and RM5200, the 'wait' instruction should  
               now work more or less as expected.  
   
           x)  For VR41xx (e.g. MobilePro) emulation, the standby instruction  
               should work like the 'wait' instruction.  
   
           x)  For R3000 emulation, where there is no hardware wait instruction,  
               I've implemented "instruction combination" hacks for both  
               NetBSD/pmax and Debian/pmax, so that their cpu idle loops are  
               detected and treated almost as a wait instruction.  
20    
     o)  MIPS 64-bit address translation (X=1) was not fully working before;  
         TLB exception handling for xkseg and larger-than-2GB-userland should  
         now actually work. (Thanks to Juli Mallett and Carl van Schaik for  
         noticing these problems.)  
21    
22      o)  The mouse cursor update routines in DECstation (LK201) emulation  The changes between release 0.4.4.1 and 0.4.5 include, among other things:
         previously used the fact that guest OSes set the _hardware_  
         cursor position. In order to support X Windows when emulating  
         modern versions of NetBSD/pmax, which don't set the hardware  
         position anymore, a workaround has been implemented which only  
         sends relative coordinates to the guest OS. This has two drawbacks:  
23    
24          1. Ultrix emulation with dual- and tripple-head emulation will      o)  Initial support for "disk overlays" has been implemented. This
25             most likely feel very strange. It will still work, though.          enables e.g. simple roll-back of emulated disk contents to a
26            previous state.
27    
28          2. Cursor movement feels "accelerated", because the emulator      o)  Dyntrans bug fixes; code translations on physical addresses that
29             sends unaccelerated movements to the guest OS, which then          were offset a multiple of 128 MB from each other could either
30             accelerates them. This can however be compensated to some          cause weird bugs, or translation leaks (leading to unnecessary
31             degree by running 'xset m 1 0' in the guest OS.          dyntrans cache overflows).
32    
33          Having weird accelerated mouse movement is better than having no      o)  Some cleanup: The GDB debugging stub support, some dummy machine
34          mouse support at all, so this change was necessary.          modes (TS7200, Walnut, PB1000, and Meshcube), and some dummy or
35            experimental CPUs (RCA180x and Transputer) have been removed, to
36            make the emulator slightly more maintainable.
37    
38  Please read the HISTORY files for more details.  Please read the HISTORY file for more details.
39    
40    
41  Files included in this release are:  Files included in this release are:
# Line 210  or reuse code. Line 152  or reuse code.
152    
153    
154  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
155  or feedback in general, then mail me at anders(at)gavare.se.  or feedback in general, then mail me at anders(At)gavare.se.
156    

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

  ViewVC Help
Powered by ViewVC 1.1.26