/[gxemul]/upstream/0.4.6/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 /upstream/0.4.6/RELEASE

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

trunk/RELEASE revision 32 by dpavlin, Mon Oct 8 16:20:58 2007 UTC upstream/0.4.6/RELEASE revision 43 by dpavlin, Mon Oct 8 16:22:43 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.6
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, and 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:  
20    
                   print verbose  
                   r5 = sp - arch_pagesize * 4  
                   machine[0].statistics_enabled = 1  
21    
22            x)  To force a name to be interpreted as a setting/register name,  The changes between release 0.4.5.1 and 0.4.6 include, among other things:
               a hash sign (#) is now used instead of the percentage sign (%).  
               (In the new expression evaluator, % means arithmetic modulo.)  
23    
24            x)  The 'focus' command now also selects a cpu, in addition to      o)  NetBSD/pmppc can now run in the emulator (with root-on-nfs), on
25                selecting machine and emul.          an emulated Artesyn PM/PPC board.
26    
27            x)  The 'reg' command only prints registers for one cpu now, not      o)  An instruction combination has been implemented for the idle loop
28                all cpus in the currently focused machine.          used by NetBSD/arm (cats, netwinder, and iq80321). In plain English,
29            this means that if the guest OS inside the emulator is not using
30            any CPU, the emulator should not use much CPU on the host either.
31    
32      o)  The wdc (standard IDE controller) had a bug which prevented disk      o)  Some minor SuperH emulation speed improvements.
         images larger than 2 GB to work correctly. This has been fixed.  
33    
34      o)  For MIPS emulation, some combinations of emulated processor + guest      o)  General code cleanup: Non-working (skeleton) emulation modes have
35          operating system should now work better when idling (i.e. the host          been removed, to make it easier to maintain the source code in
36          should not run at 100% CPU):          the long run, and many unused/legacy constructs have been removed.
37    
38            x)  For MIPS32/MIPS64 and RM5200, the 'wait' instruction should  Please read the HISTORY file for more details.
               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.  
   
     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.)  
   
     o)  The mouse cursor update routines in DECstation (LK201) emulation  
         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:  
   
         1. Ultrix emulation with dual- and tripple-head emulation will  
            most likely feel very strange. It will still work, though.  
   
         2. Cursor movement feels "accelerated", because the emulator  
            sends unaccelerated movements to the guest OS, which then  
            accelerates them. This can however be compensated to some  
            degree by running 'xset m 1 0' in the guest OS.  
   
         Having weird accelerated mouse movement is better than having no  
         mouse support at all, so this change was necessary.  
   
 Please read the HISTORY files for more details.  
39    
40    
41  Files included in this release are:  Files included in this release are:
# Line 192  them like this is in order: Line 134  them like this is in order:
134    
135      This product includes software developed by Marcus Comstedt.      This product includes software developed by Marcus Comstedt.
136    
137        This product includes software developed by Bill Paul.
138    
139        This product includes software developed by Nivas Madhur.
140    
141  Also, src/include/alpha_rpb.h requires the following:  Also, src/include/alpha_rpb.h requires the following:
142    
143      Copyright (c) 1994, 1995, 1996 Carnegie-Mellon University.      Copyright (c) 1994, 1995, 1996 Carnegie-Mellon University.
# Line 210  or reuse code. Line 156  or reuse code.
156    
157    
158  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
159  or feedback in general, then mail me at anders(at)gavare.se.  or feedback in general, then mail me at anders(At)gavare.se.
160    

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

  ViewVC Help
Powered by ViewVC 1.1.26