Release notes for Gavare's eXperimental Emulator (GXemul), 0.4.0.1
==================================================================

Copyright (C) 2003-2006  Anders Gavare.


GXemul is an experimental instruction-level machine emulator. Several
emulation modes are available. In some modes, processors and surrounding
hardware components are emulated well enough to let unmodified operating
systems (e.g. NetBSD) run as if they were running on a real machine.

The documentation lists the machines and guest operating systems that can 
be regarded as "working" in GXemul. The best supported guest operating 
systems are probably NetBSD/pmax, NetBSD/cats, and OpenBSD/cats.


The most important change between release 0.3.8 and 0.4.0.1 is:

    o)	The emulation of MIPS processors has been completely rewritten;
	it now uses the same portable dynamic translation system as the
	ARM and PowerPC emulation modes.

	On Alpha and i386 hosts (and AMD64 hosts running in 32-bit mode),
	GXemul previously used translation into native code. This release
	will perform worse than 0.3.8 on those host architectures.

	On all other hosts (including AMD64 running in native 64-bit mode),
	0.4.0 is likely to be faster than 0.3.8, when emulating MIPS.

	I think that in the long term, moving towards full portability like
	this is a good idea.

(0.4.0 was a bit buggy and unstable; 0.4.0.1 is a quick-fix release.)

There have also been many other changes, including, but not limited to:

    o)	The "test machine" functionality is more well-defined than before,
	and some tutorial-like demos have been added. These could be useful
	e.g. in operating system construction courses.

    o)	NetBSD/sgimips 3.0 works now. This is most likely due to the rewrite
	of the MIPS emulation mode. Previous releases of GXemul only worked
	with NetBSD/sgimips 2.1.

    o)	I have begun implementing rudimentary support for GDB remote serial
	protocol connections. This means that you can run e.g. the Data
	Display Debugger, and connect it to a GXemul instance.

	No advanced GDB functionality is working yet, but starting and
	stopping the emulated machine and single-stepping should work.

Please read the HISTORY files for more details.


Files included in this release are:

  HISTORY                     Detailed revision history / changelog.
  LICENSE                     Copyright message / license.
  README                      Quick start instructions, for the impatient.
  RELEASE                     This file.
  TODO                        TODO notes.
  configure, Makefile.skel    sh and make scripts for building GXemul.
  demos                       Tutorial-like demos of testmachine functionality.
  doc                         Documentation.
  experiments                 Experimental code. (Usually not needed.)
  src                         Source code.

To build the emulator, run the configure script, and then run make. This 
should work on most Unix-like systems.


Regarding files in the src/include/ directory: only some of these are written
by me, the rest are from other sources (such as NetBSD). The license text says
that "All advertising materials mentioning features or use of this software"
must display acknowledgements. Even though I do NOT feel I mention features or
use of the header files (the "software") in any advertising materials, I am
still very grateful for the fact that these people have made their files
available for re-use, so regardless of legal requirements, I guess thanking
them like this is in order:

    This product includes software developed by the University of
    California, Berkeley and its contributors.

    This product includes software developed for the
    NetBSD Project.  See http://www.netbsd.org/ for
    information about NetBSD.

    This product includes software developed by Jonathan Stone for
    the NetBSD Project.

    This product includes software developed for the NetBSD Project
    by Matthias Drochner.

    This product includes software developed by the NetBSD
    Foundation, Inc. and its contributors.

    This product includes software developed by Christopher G. Demetriou.
    [for the NetBSD Project.]

    This product includes software developed by Adam Glass.

    This product includes software developed by the PocketBSD project
    and its contributors.

    This product includes software developed by Peter Galbavy.

    Carnegie Mellon University   (multiple header files,
    no specific advertisement text required)

    This product includes software developed by Charles M. Hannum.

    This product includes software developed under OpenBSD by Per Fogelstrm.

    This product includes software developed by Per Fogelstrm.

    This product includes software developed at Ludd, University of
    Lule, Sweden and its contributors.

    This product includes software developed by Hellmuth Michaelis
    and Joerg Wunsch

    The font(s) in devices/fonts are Copyright (c) 1992, 1993, 1994
    by Hellmuth Michaelis and Joerg Wunsch.  ("This product includes software
    developed by Hellmuth Michaelis and Joerg Wunsch", well, the font
    is maybe not software, but still...)

    impactsr-bsd.h is Copyright (C) 2004 by Stanislaw Skowronek.

    This product includes software developed for the NetBSD Project by
    Wasabi Systems, Inc.  [by Simon Burge]

    arcbios_other.h is Copyright (c) 1996 M. Warner Losh.

    This product includes software developed by Marc Horowitz.

    This product includes software developed by Brini.

    This product includes software developed by Mark Brinicombe
    for the NetBSD Project.

    This product includes software developed by TooLs GmbH.

    This product includes software developed by Manuel Bouyer.

    This product includes software developed by the Alice Group.

    This product includes software developed by Ichiro FUKUHARA.

Also, src/include/alpha_rpb.h requires the following:

    Copyright (c) 1994, 1995, 1996 Carnegie-Mellon University.
    All rights reserved.

    Author: Keith Bostic, Chris G. Demetriou

    Permission to use, copy, modify and distribute this software and
    its documentation is hereby granted, provided that both the copyright
    notice and this permission notice appear in all copies of the
    software, derivative works or modified versions, and any portions
    thereof, and that both notices appear in supporting documentation.

See individual files for license details, if you plan to redistribute GXemul
or reuse code.


Thanks to (in no specific order) Joachim Buss, Olivier Houchard, Juli Mallett,
Juan Romero Pardines, Alec Voropay, Gran 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.

If you have found GXemul useful in some way, or feel like sending me comments
or feedback in general, then mail me at anders(at)gavare.se.

