This directory holds several examples which show how to build and run systemc code and models within gem5. To build a particular example, set the EXTRAS variable when running scons so that it gets picked up as part of gem5's build. For example: scons build/ARM/gem5.opt \ EXTRAS=util/systemc/systemc_within_gem5/systemc_sc_main Then when running gem5, you can use the config.py in the corresponding directory. build/ARM/gem5.opt util/systemc/systemc_within_gem5/systemc_sc_main/config.py \ --word Hello --word World To rebuild gem5 excluding the example code, be sure to clear the EXTRAS variable: scons build/ARM/gem5.opt EXTRAS= When building your own models, you don't have to use the EXTRAS mechanism and can instead put your source files alongside regular gem5 sources. Existing examples: systemc_sc_main - Run code based on an sc_main function. systemc_simple_object - Build systemc objects into a gem5 object hierarchy. Note that these directories all have a systemc_ prefix so that when EXTRAS pastes them into the build directory, they won't conflict with any existing top level directory.