1
0
Fork
You've already forked gem5
0
No description
  • C++ 73.7%
  • Python 16.7%
  • C 8%
  • HTML 0.3%
  • Assembly 0.3%
  • Other 0.4%
Find a file
2024年12月19日 18:28:44 -08:00
.devcontainer misc: Update on-create.sh ( #1477 ) 2024年08月20日 11:15:33 -07:00
.github tests: update timout on pannotia fw gpu test 2024年10月30日 16:42:23 +00:00
.vscode misc: Add 'ext' & 'tests' to vscode pythin extraPaths ( #1652 ) 2024年10月10日 10:18:14 -07:00
build_opts tests, scons: Fix Testlib test failures 2024年11月19日 11:00:37 -08:00
build_tools scons,misc: Portable debug flag generation ( #1666 ) 2024年10月18日 14:39:09 -07:00
configs configs: Generalize class types in CHI RNF/MN generators ( #1851 ) 2024年12月18日 21:16:26 -08:00
docs misc: Add sphinx stdlib documentation ( #335 ) 2024年12月18日 21:14:10 -08:00
ext tests, scons: Fix Testlib test failures 2024年11月19日 11:00:37 -08:00
include/gem5 misc: create C declarations for the _addr and _semi m5ops 2020年11月05日 12:24:18 +00:00
site_scons scons: Fix scons 'readCommand' non-zero exits ( #1587 ) 2024年09月23日 10:09:23 -07:00
src misc: Update the gem5 version to v24.1.0.1 2024年12月19日 18:24:22 -08:00
system/arm system-arm: Enable SME in the bootloader 2023年01月17日 10:09:56 +00:00
tests tests: Update pyunit tests references to include 24.1 ( #1843 ) 2024年12月07日 00:02:57 -08:00
util arch-arm,util-m5: Change arm64's default m5 call type to addr ( #1583 ) 2024年11月07日 10:08:10 -08:00
.git-blame-ignore-revs misc: Add black update change to .git-blame-ignore-rev 2023年10月10日 14:02:37 -07:00
.gitignore misc: Add sphinx stdlib documentation ( #335 ) 2024年12月18日 21:14:10 -08:00
.mailmap misc: Update .mailmap file ( #739 ) 2024年01月25日 12:00:13 -08:00
.pre-commit-config.yaml misc: [pre-commit.ci] pre-commit autoupdate 2024年10月09日 07:03:42 -07:00
CODE-OF-CONDUCT.md misc: Add a code of conduct 2020年07月14日 18:41:37 +00:00
CONTRIBUTING.md misc: Sync CONTRIBUTING.md with website 2023年07月27日 10:11:46 -07:00
COPYING ruby: fix and/or precedence in slicc 2017年03月01日 11:58:37 +00:00
KCONFIG.md misc: Add KCONFIG.md file which talks about Kconfig files. 2022年04月12日 04:23:40 +00:00
LICENSE copyright: Add code for finding all copyright blocks and create a COPYING file 2011年06月02日 17:36:07 -07:00
MAINTAINERS.yaml misc: update GPU maintainters ( #1411 ) 2024年08月05日 09:30:27 -07:00
optional-requirements.txt misc: bump tqdm from 4.66.5 to 4.66.6 ( #1747 ) 2024年11月04日 11:11:40 -08:00
pyproject.toml python,misc: Add isort to pre-commit 2023年11月29日 22:06:05 -08:00
README.md misc: Fix typo in README.md ( #1763 ) 2024年11月11日 10:03:54 -08:00
RELEASE-NOTES.md misc: Update RELEASE-NOTES.md for v24.1.0.1 2024年12月19日 18:27:30 -08:00
requirements.txt misc: bump mypy from 1.11.2 to 1.13.0 ( #1748 ) 2024年11月06日 10:41:03 -08:00
SConstruct scons: Remove warn as error for v24.1 2024年12月06日 19:45:58 -08:00
TESTING.md misc: Add Pyunit Test info to TESTING.md 2023年07月25日 20:42:02 -07:00

The gem5 Simulator

This is the repository for the gem5 simulator. It contains the full source code for the simulator and all tests and regressions.

The gem5 simulator is a modular platform for computer-system architecture research, encompassing system-level architecture as well as processor microarchitecture. It is primarily used to evaluate new hardware designs, system software changes, and compile-time and run-time system optimizations.

The main website can be found at http://www.gem5.org.

Testing status

Note: These regard tests run on the develop branch of gem5: https://github.com/gem5/gem5/tree/develop.

Daily Tests Weekly Tests Compiler Tests

Getting started

A good starting point is http://www.gem5.org/about, and for more information about building the simulator and getting started please see http://www.gem5.org/documentation and http://www.gem5.org/documentation/learning_gem5/introduction.

Building gem5

To build gem5, you will need the following software: g++ or clang, Python (gem5 links in the Python interpreter), SCons, zlib, m4, and lastly protobuf if you want trace capture and playback support. Please see http://www.gem5.org/documentation/general_docs/building for more details concerning the minimum versions of these tools.

Once you have all dependencies resolved, execute scons build/ALL/gem5.opt to build an optimized version of the gem5 binary (gem5.opt) containing all gem5 ISAs. If you only wish to compile gem5 to include a single ISA, you can replace ALL with the name of the ISA. Valid options include ARM, NULL, MIPS, POWER, RISCV, SPARC, and X86 The complete list of options can be found in the build_opts directory.

See https://www.gem5.org/documentation/general_docs/building for more information on building gem5.

The Source Tree

The main source tree includes these subdirectories:

  • build_opts: pre-made default configurations for gem5
  • build_tools: tools used internally by gem5's build process.
  • configs: example simulation configuration scripts
  • ext: less-common external packages needed to build gem5
  • include: include files for use in other programs
  • site_scons: modular components of the build system
  • src: source code of the gem5 simulator. The C++ source, Python wrappers, and Python standard library are found in this directory.
  • system: source for some optional system software for simulated systems
  • tests: regression tests
  • util: useful utility programs and files

gem5 Resources

To run full-system simulations, you may need compiled system firmware, kernel binaries and one or more disk images, depending on gem5's configuration and what type of workload you're trying to run. Many of these resources can be obtained from https://resources.gem5.org.

More information on gem5 Resources can be found at https://www.gem5.org/documentation/general_docs/gem5_resources/.

Getting Help, Reporting bugs, and Requesting Features

We provide a variety of channels for users and developers to get help, report bugs, requests features, or engage in community discussions. Below are a few of the most common we recommend using.

Contributing to gem5

We hope you enjoy using gem5. When appropriate we advise sharing your contributions to the project. https://www.gem5.org/contributing can help you get started. Additional information can be found in the CONTRIBUTING.md file.