This repository contains some of my gem5 work. The official upstream repository is stored in Mercurial at
C++ Python C Perl Assembly TeX Other
Pull request Compare This branch is 1517 commits behind uart:master.
Latest commit be246ce Mar 3, 2014 @andysan x86: Setup correct TSL/TR segment attributes on INIT
The TSL/LDT & TR/TSS segments didn't contain valid attributes. This
caused problems when transfering the state into KVM where invalid
state is a no-go. Fixup the attributes with values from AMD's
architecture programmer's manual.
Failed to load latest commit information.
configs ruby: correct errors in changeset 4eec7bdde5b0 Feb 25, 2014
tests stats: updates due to c0db268f811b Feb 25, 2014
README gem5: Update the README file to be a bit less out-of-date. Sep 25, 2012


This is the gem5 simulator.

For detailed information about building the simulator and getting
started please refer to:
* The main website:
* Documentation wiki: 
* Doxygen generated:
* Tutorials:  

Specific pages of interest are:

Short version:
External tools and required versions

To build gem5, you will need the following software:
g++ version 4.3 or newer.
Python, version 2.4 - 2.7 (we don't support Python 3.X). gem5 links in the 
    Python interpreter, so you need the Python header files and shared 
    library (e.g., /usr/lib/ in addition to the interpreter
    executable. These may or may not be installed by default. For example,
    on Debian/Ubuntu, you need the "python-dev" package in addition to the
    "python" package. If you need a newer or different Python installation
     but can't or don't want to upgrade the default Python on your system,
SCons, version 0.98.1 or newer. SCons is a powerful replacement for make. 
    If you don't have administrator privileges on your machine, you can use the
    "scons-local" package to install scons in your m5 directory, or install SCons
    in your home directory using the '--prefix=' option.  
SWIG, version 1.3.34 or newer
zlib, any recent version. For Debian/Ubuntu, you will need the "zlib-dev" or
    "zlib1g-dev" package to get the zlib.h header file as well as the library
m4, the macro processor.

4. In this directory, type 'scons build/<ARCH>/gem5.opt' where ARCH is one
of ALPHA, ARM, MIPS, POWER, SPARC, or X86. This will build an optimized version
of the gem5 binary (gem5.opt) for the the specified architecture.

If you have questions, please send mail to


The basic source release includes these subdirectories:
 - gem5:
   - configs: example simulation configuration scripts
   - ext: less-common external packages needed to build gem5
   - src: source code of the gem5 simulator
   - system: source for some optional system software for simulated systems
   - tests: regression tests
   - util: useful utility programs and files

To run full-system simulations, you will need compiled system firmware
(console and PALcode for Alpha), kernel binaries and one or more disk images. 
Please see the gem5 download page for these items at