Download
Getting gem5
The latest gem5 source code (including the encumbered files) is available via our Mercurial repository host at http://repo.gem5.org. It is strongly recommend that you get a copy of gem5 by using Mercurial. You can get more info about the repository and Mercurial here. In additional to the main Mercurial repository, there is a mirror on GitHub that can be used by users who prefer to use git instead of Mercurial.
Official mercurial repository
Steps for getting a copy of the source code:
- Install mercurial (hg). This is available in the mercurial package on Ubuntu and Redhat and OS X macports or home-brew.
- Clone the development repository
hg clone http://repo.gem5.org/gem5
.
- After you clone the repository you can update it by typing
hg pull
andhg update
. Read the documentation on this page for more info on using Mercurial.
Git mirror
NOTE: The git mirror is currently read-only and we cannot accept pull requests on GitHub.
- Install git if you don't have it already. This is available in the git package on Ubuntu and OSX Brew.
- Clone the repository:
git clone https://github.com/gem5/gem5.git
- After you clone the repository you can update it by typing
git pull
.
TAR dumps
If you want to download gem5 without installing Mercurial, you can get a tarball. But it will be more difficult to merge in changes when you need to update to new version. The stable repository is available via this link. The development repository is available via this link.
Useful Software not in Mercurial
Full-System Stuff
You would need one or more of the following files to full system simulations using gem5. If you download these files, read this page for instructions on how to install these files.
- ARM
- ARM Full-System Files -- Pre-compiled kernel and disk images for 32-bit and 64-bit ARM simulation. Updated October 2014. There kernels all support PCIe devices and the 64-bit kernels support >2GB of DRAM.
- Legacy ARM Full System Files -- A collection of previous ARM files that have been distributed. Anyone getting started with ARM and gem5 should use the above link.
- BBench for gem5 -- Full-system Android files and BBench, a web-browser benchmark.
- AsimBench for gem5 -- Full-system Android files for AsimBench, a benchmark suite containing various types of mobile applications.
- X86
- Full System Files -- The kernel used for regressions, an SMP version of it, and a disk image
- config files -- Config files for both of the above kernels, 2.6.25.1 and 2.6.28.4
- (The
mkblankimage.sh
script to create a blank disk image that used to be downloadable here is now included in the m5 repository, in theutil
directory.) - Alpha
- Full System Files -- Pre-compiled Linux kernels, PALcode/Console code, and a filesystem
- Unchanged since M5 2.0 beta 3. If you already have these you don't need them again.
- linux-dist -- Everything you need to create your own disk image and compile everything in it from scratch
- Full System Files -- Pre-compiled Linux kernels, PALcode/Console code, and a filesystem
Benchmarks
- For information about running Android on gem5 and using the web browser benchmark, see BBench-gem5.
- For information about running the AsimBench benchmark on Android with gem5, see AsimBench for more information.
- For information about using the DaCapo benchmarks on gem5 see the DaCapo benchmarks page for more information.
- SPLASH benchmarks -- See the Splash benchmarks page for more information.
Pre-compiled Cross-compilers
Externally supplied cross compilers:
- Ubuntu users can simply install ARM compilers with the crossbuild-essential-armhf and libc6-dev-armhf-armel-cross packages for 32-bit ARM and crossbuild-essential-arm64 and libc6-dev-arm64-cross for 64-bit ARM.
- MIPS cross compilers from CodeSourcery
All generated with crosstool for x86 linux hosts/linux targets
- Alpha: gcc-3.4.3, gcc-4.3.2, glibc-2.6.1 (NPTL,x86/64), gcc-4.3.2, glibc-2.6.1 (NPTL,x86/32)
- SPARC64