This page is an archive of old M5 documentation predating the GEMS merger and subsequent gem5 renaming. See the Documentation page for the current documentation.
Complementary information from our tutorials, including about three hours of video from our last tutorial, is available here. The tutorials provide basic information about using M5 and are time well spent for anyone new to the simulator.
- Source Tree - Brief tour of the source tree
- Compiling M5 - How to compile the simulator
- Running M5 - How to run the simulator
- Debugging - Debugging tips and strategies
- Reporting Problems - What to do before you report a problem
- Adding Functionality - How to extend M5 (and update to new versions with almost no work)
Starting out in Full System
- Running M5 in Full-System Mode - How to run in full-system mode
- m5term - How to use the m5term
- m5ops - Pseudo instructions and a command line interface to them
- Using linux-dist to Create Disk Images and Kernels for M5 - How to create a Linux disk image/kernel
- Doxygen -- Doxygen documentation
- Memory System - Overview of M5's new memory system
- Simulation Scripts Explained - Overview of simulation scripts
- Using the Statistics Package - Using the statistics package
- ISA description system - The new ISA description primer
- CPU Models - Overview of the various CPU models in M5
- Sampling - Overview of how to use sampling.
- I/O Base Classes - Information about the I/O device base classes
- SimObject Initialization - Information about the phases of SimObject creation and initialization, including unserializing
- Events -- Information about the Event and EventWrapper
- Regression Tests - How to Run & Create your own regression tests in M5
- Coding Style
- Documentation Guidelines
- Adding New Features to M5:
This documentation, gathered from outside sources, could be useful as reference when working with M5.
Frequently Asked Questions
Frequently Asked Questions - Frequently Asked Questions and Answers