All Topics  
GXemul

 

   Email Print
   Bookmark   Link






 

GXemul



 
 
GXemul (formerly known as mips64emul) is a computer architecture
Computer architecture

Computer architecture in computer engineering is the conceptual design and fundamental operational structure of a computer system. It is a blueprint and functional description of requirements and design implementations for the various parts of a computer, focusing largely on the way by which the central processing unit performs internally an...
emulator
Emulator

An emulator duplicates the functions of one system using a different system, so that the second system behaves like the first system. This focus on exact reproduction of external behavior is in contrast to some other forms of computer simulation, which can concern an abstract model of the system being simulated....
 being developed by Anders Gavare. It is available as free software
Free software

Free Software or software libre is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with minimal restrictions only to ensure that further recipients can also do these things and to prevent consumer-facing hardware...
 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
MIPS architecture

MIPS is a RISC instruction set architecture developed by MIPS Technologies . In the mid to late 1990s, it was estimated that one in three RISC microprocessors produced were MIPS implementations....
 instruction set, 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.






Discussion
Ask a question about 'GXemul'
Start a new discussion about 'GXemul'
Answer questions from other users
Full Discussion Forum



Encyclopedia


GXemul (formerly known as mips64emul) is a computer architecture
Computer architecture

Computer architecture in computer engineering is the conceptual design and fundamental operational structure of a computer system. It is a blueprint and functional description of requirements and design implementations for the various parts of a computer, focusing largely on the way by which the central processing unit performs internally an...
emulator
Emulator

An emulator duplicates the functions of one system using a different system, so that the second system behaves like the first system. This focus on exact reproduction of external behavior is in contrast to some other forms of computer simulation, which can concern an abstract model of the system being simulated....
 being developed by Anders Gavare. It is available as free software
Free software

Free Software or software libre is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with minimal restrictions only to ensure that further recipients can also do these things and to prevent consumer-facing hardware...
 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
MIPS architecture

MIPS is a RISC instruction set architecture developed by MIPS Technologies . In the mid to late 1990s, it was estimated that one in three RISC microprocessors produced were MIPS implementations....
 instruction set, 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
ARM architecture

The ARM architecture is a 32-bit RISC central processing unit architecture developed by ARM Limited that is widely used in embedded system designs....
, MIPS
MIPS architecture

MIPS is a RISC instruction set architecture developed by MIPS Technologies . In the mid to late 1990s, it was estimated that one in three RISC microprocessors produced were MIPS implementations....
, M88K
Motorola 88000

The 88000 is a microprocessor design produced by Motorola. The 88000 was Motorola's attempt at a home-grown RISC architecture, started in the 1980s....
, PowerPC
PowerPC

PowerPC is a RISC instruction set architecture created by the 1991 Apple Inc.?IBM?Motorola alliance, known as AIM alliance. Originally intended for personal computers, PowerPC CPUs have since become popular embedded system and high-performance processors....
, and SuperH
SuperH

The SuperH is brandname of a certain microcontroller and microprocessor architecture. The SuperH is fundamentally a 32-bit load/store reduced instruction set computer architecture found in a large number of embedded systems....
. Guest operating systems that have been verified to work inside the emulator are NetBSD
NetBSD

NetBSD is a freely redistributable, open source version of the Unix-derivative Berkeley Software Distribution computer operating system. It was the second open source BSD descendant to be formally released, after 386BSD, and continues to be actively developed....
, OpenBSD
OpenBSD

OpenBSD is a Unix-like computer operating system descended from Berkeley Software Distribution , a Unix derivative developed at the University of California, Berkeley....
, Linux
Linux

Linux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed by anyone under the terms of the GNU GPL license...
, HelenOS
HelenOS

HelenOS is an operating system based on a Preemption microkernel design. The source code of HelenOS is published under free software licences, making the operating system free software....
, Ultrix
Ultrix

Ultrix was the brand name of Digital Equipment Corporation's native Unix systems. While ultrix is the Latin word for avenger, the name was chosen solely for its sound....
, and Sprite
Sprite operating system

The Sprite operating system was an experimental Unix-like operating system developed at the University of California, Berkeley, by John Ousterhout's research group between 1984 and 1992....
.

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
Debugger

A debugger is a computer program that is used to test and debug other programs. The code to be examined might alternatively be running on an Instruction Set Simulator, a technique that allows great power in its ability to halt when specific conditions are encountered but which will typically be much slower than executing the code directly on...
.

Dynamic Translation


GXemul's processor emulation uses dynamic translation into an intermediate representation
Intermediate representation

In computing, an intermediate representation is a data structure that is constructed from input data to a computer program, and from which part or all of the output data of the program is constructed in turn....
 (IR). The translation step which would translate this IR into native code on the host has not been implemented. That step is not necessary, because the IR is already in a format which can be executed. 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.

(Older releases, up to and including 0.3.8, used dynamic binary translation
Binary translation

In computing, binary translation is the emulation of one instruction set by another through translation of Machine language. Sequences of instruction s are translated from the source to the target instruction set....
, which translated the emulated machine code directly into native code on the host. This worked for DEC Alpha
DEC Alpha

Alpha, originally known as Alpha AXP, was a 64-bit reduced instruction set computer instruction set architecture developed by Digital Equipment Corporation , designed to replace the 32-bit VAX complex instruction set computer ISA and its implementations....
 and i386 hosts. The binary translation mode was removed in release 0.4.0.)

Usage Example


Assuming you have downloaded a NetBSD
NetBSD

NetBSD is a freely redistributable, open source version of the Unix-derivative Berkeley Software Distribution computer operating system. It was the second open source BSD descendant to be formally released, after 386BSD, and continues to be actively developed....
/pmax 4.0 CD-ROM ISO image (pmaxcd-4.0.iso), the following commands will let you install NetBSD onto an emulated DECstation 5000 Model 200
DECstation

The DECstation was a brand of computers used by Digital Equipment Corporation, and refers to three distinct lines of computer systems—the first released in 1978 as a word processing system, and the latter two both released in 1989....
 (also known as "3max"): dd if=/dev/zero of=nbsd_pmax.img bs=1024 count=1 seek=3000000

gxemul -e 3max -d nbsd_pmax.img -d b:pmaxcd-4.0.iso

The first command (dd
Dd (Unix)

dd is a common UNIX program whose primary purpose is the low-level copying and conversion of raw data. dd is an abbreviation for "data definition" in IBM Job Control Language, and the command's syntax is meant to be reminiscent of this....
) creates an empty disk image, and the second command launches GXemul. The -e option specifies the machine to emulate, and the -d options add disk images. The first disk image is the newly created disk image where NetBSD will be installed. The second is the CD-ROM ISO image; the b: modifier flag means that the system should boot from the ISO image, instead of the first available disk image.

Installing NetBSD within the emulator should be very similar to installing it on real hardware. Once the installation has completed, the following command should start NetBSD from the disk image: gxemul -e 3max -d nbsd_pmax.img

See also

  • QEMU
    QEMU

    QEMU is a central processing unit emulator that relies on dynamic binary translation to achieve a reasonable speed while being easy to port on new host CPU architectures....
  • SIMH
    SIMH

    SIMH is a highly portable, multi-system emulator which runs on Microsoft_Windows, Linux, Mac OS X, FreeBSD, OpenBSD, NetBSD, OpenVMS, and other operating systems....
  • PearPC
    PearPC

    PearPC is an architecture-independent PowerPC platform emulator capable of running many PowerPC operating systems, including Mac OS X, Darwin and Linux....
  • Bochs
    Bochs

    Bochs is a portable x86 and x86-64 IBM PC compatible emulator and debugger mostly written in C++ and distributed as free software under GNU Lesser General Public License....
  • Comparison of platform virtual machines


External links