# Release notes for GXemul 0.6.2

Copyright (C) 2003-2019 Anders Gavare

GXemul is a framework for full-system computer architecture emulation. Several processor architectures and machine types have been implemented. It is working well enough to allow unmodified "guest" operating systems to run inside the emulator, as if they were running on real hardware.

The emulator emulates (networks of) real machines. The machines may consist of ARM, MIPS, Motorola 88K, PowerPC, and SuperH processors, and various surrounding hardware components such as framebuffers, busses, interrupt controllers, ethernet controllers, disk controllers, and serial port controllers.

The documentation lists the machines and guest operating systems that can be regarded as "working" in GXemul. The first guest operating system that worked in GXemul was NetBSD/pmax on an emulated DECstation 5000/200, and that is still one of the guest OSes that works best.

The most important changes between release 0.6.1 and 0.6.2 are:

- When writing to mirrored RAM ranges, any dyntrans translations made in either the mirror or the mirrored ranges are now invalidated. This means that an emulated SGI O2 can now be used with up to 1 GB of RAM when running OpenBSD/sgi as a guest OS. Previously, 256 MB was the maximum amount of emulated RAM possible for the SGI O2.

- A fix 2018-06-13 (between 0.6.0.1 and 0.6.0.2) for translation invalidation when using larger than 4 KB pages, which made HelenOS/malta run further, caused a regression which broke NetBSD/hpcmips (on VR4121 CPUs, which have 1 KB native page size). A bit of cleanup seems to have fixed this, so that both NetBSD/hpcmips and HelenOS/malta work now.

- Cleanup: The MIPS processor emulation implemented in the "new framework", and the corresponding MIPS machine modes in the new framework, have been removed. (All meaningful MIPS emulation is in the old framework anyway.)

- Documentation updates:
  - Each emulated machine now has a page of its own with the guest OSes or other software that may run in that mode, rather than just having a long unsorted list of guest OS installation instructions.
  - Less focus on the "new framework", more focus on the old framework where things actually work.
  - An introduction to using GXemul as a debugger.
  - A general overhaul to remove old stuff, fix errors, and make things easier to read.

Please read the HISTORY file for more details.

To build the emulator, run the `configure` script, and then run `make`. This should hopefully work on most Unix-like systems, with few or no modifications to the source code.

Regarding files in the `src/include/thirdparty/` directory: most of these are from other open source projects such as NetBSD. See individual source files for details, if you plan to redistribute GXemul in binary form, or reuse the source code.

GXemul's homepage is http://gavare.se/gxemul/.