Some thoughts on this document

  • We want this document to be living.
    • We should have the source checked in somewhere (probably in a repo next to gem5).
    • We should force people to make updates when they break things.
    • We should have the source for the examples checked into the gem5 repo, and have tests that run them.

An outline:

  1. Part I: Getting started

    Done-ish

  2. Part II: Advanced gem5 usage
    1. Full-system simulation
    2. Checkpoint creation and restoring
    3. Running tests
    4. Using m5ops
  3. Part III: Developing with gem5
    1. Creating a new SimObject
    2. Debugging support in gem5
    3. Creating a new MemObject with master/slave ports
    4. ISA language
    5. Contributing back to gem5
  4. Part III: Using Ruby cache coherence model
    1. Overview of Ruby
    2. Ruby’s cache coherence protocols
    3. Ruby’s network topologies
    4. Writing a new protocol
    5. Debugging a protocol
    6. Extending the SLICC language

Todo list

Todo

Explain params etc. Overall, the tag store is not a great example for this, but we’ll leave it for now.

(The original entry is located in /afs/cs.wisc.edu/p/multifacet/users/powerjg/gem5-tutorial/tutorial/part2/simobject.rst, line 97.)