/[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 34 by dpavlin, Mon Oct 8 16:21:17 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.4
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):  
20    
           x)  For MIPS32/MIPS64 and RM5200, the 'wait' instruction should  
               now work more or less as expected.  
21    
22            x)  For VR41xx (e.g. MobilePro) emulation, the standby instruction  Changes between release 0.4.3 and 0.4.4 include, among other things:
               should work like the 'wait' instruction.  
23    
24            x)  For R3000 emulation, where there is no hardware wait instruction,      o)  The interrupt subsystem has been redesigned. This means two things:
               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.  
25    
26      o)  MIPS 64-bit address translation (X=1) was not fully working before;            x)  Internal code cleanup, which makes the whole emulator more
27          TLB exception handling for xkseg and larger-than-2GB-userland should                maintainable. Instead of using magically encoded integers
28          now actually work. (Thanks to Juli Mallett and Carl van Schaik for                for interrupts, strings are now used. These strings are in
29          noticing these problems.)                the form of "paths", so that devices and busses can more
30                  easily be connected to other busses, devices, or CPUs.
31    
32      o)  The mouse cursor update routines in DECstation (LK201) emulation            x)  Some machine types which happened to work in release 0.4.3,
33          previously used the fact that guest OSes set the _hardware_                but were not listed in the documentation as working, may
34          cursor position. In order to support X Windows when emulating                have stopped working now. As always, the documentation should
35          modern versions of NetBSD/pmax, which don't set the hardware                indicate the combinations of machine modes and guest OSes that
36          position anymore, a workaround has been implemented which only                are supposed to work.
         sends relative coordinates to the guest OS. This has two drawbacks:  
37    
38          1. Ultrix emulation with dual- and tripple-head emulation will      o)  SuperH (SH4) emulation is now somewhat more stable, enough to let a
39             most likely feel very strange. It will still work, though.          NetBSD/dreamcast Live CD be usable.
40    
41          2. Cursor movement feels "accelerated", because the emulator      o)  PowerPC "G4" emulation is now stable enough to let NetBSD/macppc
42             sends unaccelerated movements to the guest OS, which then          run from a disk image. (Installing actually worked before, but the
43             accelerates them. This can however be compensated to some          NetBSD/macppc GENERIC kernel uses AltiVec instructions which were
44             degree by running 'xset m 1 0' in the guest OS.          not implemented correctly.)
45    
46          Having weird accelerated mouse movement is better than having no      o)  The PICA-61 (arc) and i80321 (evbarm) emulation modes now have their
47          mouse support at all, so this change was necessary.          timers fixed at 100 Hz. A hardcoded speed like this is very ugly, but
48            it is at least better than before (when the timer wasn't really
49            running at any specific speed at all).
50    
51  Please read the HISTORY files for more details.  Please read the HISTORY files for more details.
52    

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

  ViewVC Help
Powered by ViewVC 1.1.26