GXemul

Gavare's eXperimental Emulator (formerly known as mips64emul) is a computer architecture emulator being developed by Anders Gavare. It is available as free software under a revised BSD-style license. In 2005, Gavare changed the name of the software project from mips64emul to GXemul. This was to avoid giving the impression that the emulator was confined to the MIPS architecture, which was the only architecture being emulated initially.

Although development of the emulator is still a work-in-progress, since 2004 it has been stable enough to let various unmodified guest operating systems run as if they were running on real hardware. Currently emulated processor architectures include ARM, MIPS, M88K, PowerPC, and SuperH. Guest operating systems that have been verified to work inside the emulator are NetBSD, OpenBSD, Linux, HelenOS, Ultrix, and Sprite.

Apart from running entire guest operating systems, the emulator can also be used for experiments on a smaller scale, such as hobby operating system development, or it can be used as a general debugger.

Dynamic translation
GXemul's processor emulation uses dynamic translation, to convert the emulated processor's instructions into an intermediate representation (IR). The IR is in a format which can be executed by the host. In other words, it should be possible to port the emulator to new host architectures with just a recompilation; there is no need to implement a native code generation backend for each host architecture to get it running.