It may be a good idea to add example exercises at the end of each chapter. These could be things that are good for a classroom or just good things to try out.
An outline:
Done-ish
Creating a new SimObject
Debugging support in gem5
Simple event-driven model
Adding parameters to SimObjects
Creating a new MemObject with master/slave ports
A more complex SimObject: Simple Uniprocessor cache
Running tests
System
Todo
Add information about address ranges and interleaved address ranges.
Todo
Finish the previous paragraph about how it is a good idea to understand what your tools are actually doing.
(The original entry is located in /local.chinook/gem5/gem5-tutorial/learning_gem5/intro.rst, line 22.)
Todo
should add a list of terms. Things like “simulated system” vs “host system”, etc.
(The original entry is located in /local.chinook/gem5/gem5-tutorial/learning_gem5/intro.rst, line 26.)
Todo
Other differences between SE and FS mode...
(The original entry is located in /local.chinook/gem5/gem5-tutorial/learning_gem5/part3/intro.rst, line 33.)
Todo
Add a pointer to the gem5 docker image. In fact, we may want to have a docker image for each section.
(The original entry is located in /local.chinook/gem5/gem5-tutorial/learning_gem5/part1/building.rst, line 12.)
Todo
We should add links to SimObjects like Cache that point to the doxygen on gem5’s site.
(The original entry is located in /local.chinook/gem5/gem5-tutorial/learning_gem5/part1/cache_config.rst, line 31.)
Todo
Add forward pointer to where I talk about the memory system details to the sidebar.
(The original entry is located in /local.chinook/gem5/gem5-tutorial/learning_gem5/part1/simple_config.rst, line 144.)
Todo
Explain what event-driven programming is
(The original entry is located in /local.chinook/gem5/gem5-tutorial/learning_gem5/part2/events.rst, line 14.)
Todo
make a section on the SConscript build system which discuss all of the functions.
(The original entry is located in /local.chinook/gem5/gem5-tutorial/learning_gem5/part2/helloobject.rst, line 178.)
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 /local.chinook/gem5/gem5-tutorial/learning_gem5/part2/simobject-old.rst, line 99.)
Todo
Make sure there is a link to the gem5 source here
(The original entry is located in /local.chinook/gem5/gem5-tutorial/learning_gem5/part3/fs_config.rst, line 24.)
Todo
Update all SimObjects to point to the gem5 source code.
(The original entry is located in /local.chinook/gem5/gem5-tutorial/learning_gem5/part3/fs_config.rst, line 40.)
Todo
This bad addr thing could be made more clear.
(The original entry is located in /local.chinook/gem5/gem5-tutorial/learning_gem5/part3/fs_config.rst, line 89.)
Todo
Add information about address ranges and interleaved address ranges.
(The original entry is located in /local.chinook/gem5/gem5-tutorial/learning_gem5/thoughts.rst, line 61.)