Architecture Support

From gem5
Revision as of 01:57, 16 May 2011 by Gblack (talk | contribs) (ARM)
Jump to: navigation, search


Gem5 models a DEC Tsunami based system. In addition to the normal Tsunami system that support 4 cores, we have an extension which supports 64 cores (a custom PALcode and patched Linux kernel is required). The simulated system looks like an Alpha 21264 including the BWX, MVI, FIX, and CIX to user level code. For historical reasons the processor executes EV5 based PALcode.

It can boot unmodified Linux 2.4/2.6, FreeBSD, or L4Ka::Pistachio as well as applications in syscall emulation mode. Many years ago it was possible to boot HP/Compaq's Tru64 5.1 operating system. We no longer actively maintain that capability, however, and it does not currently work.


The ARM Architecture models within gem5 support an ARMv7-a profile of the ARM® architecture with multi-processor extensions. Specifically, this include support for Thumb®, Thumb-2, VFPv3 (32 double register variant) and NEON™. Optional features of the architecture that are not currently supported are TrustZone®, ThumbEE, Jazelle®, and Virtualization and Large Physical Address Extensions (LPAE).

In full system mode gem5 is able to boot uni- or multi-processor Linux and bare metal applications built with ARM's compilers. Additionally, statically linked Linux binaries can be run in ARM's syscall emulation mode.




The gem5 simulator models a single core of a UltraSPARC T1 processor (UltraSPARC Architecture 2005).

SPARC support is able to boot Solaris in a similar manner as the Sun T1 Architecture simulator tools (building the hypervisor with specific defines and using the HSMID virtual disk driver). Multiprocessor support was never completed for full-system SPARC. With syscall emulation gem5 supports running Linux or Solaris (However, new versions of Solaris no longer support generating statically compiled binaries) statically compiled binaries.