113373Sgabeblack@google.comThis directory holds several examples which show how to build and run systemc 213373Sgabeblack@google.comcode and models within gem5. To build a particular example, set the EXTRAS 313373Sgabeblack@google.comvariable when running scons so that it gets picked up as part of gem5's build. 413373Sgabeblack@google.comFor example: 513373Sgabeblack@google.com 613373Sgabeblack@google.comscons build/ARM/gem5.opt \ 713373Sgabeblack@google.com EXTRAS=util/systemc/systemc_within_gem5/systemc_sc_main 813373Sgabeblack@google.com 913373Sgabeblack@google.comThen when running gem5, you can use the config.py in the corresponding 1013373Sgabeblack@google.comdirectory. 1113373Sgabeblack@google.com 1213373Sgabeblack@google.combuild/ARM/gem5.opt util/systemc/systemc_within_gem5/systemc_sc_main/config.py \ 1313373Sgabeblack@google.com --word Hello --word World 1413373Sgabeblack@google.com 1513373Sgabeblack@google.com 1613373Sgabeblack@google.comTo rebuild gem5 excluding the example code, be sure to clear the EXTRAS 1713373Sgabeblack@google.comvariable: 1813373Sgabeblack@google.com 1913373Sgabeblack@google.comscons build/ARM/gem5.opt EXTRAS= 2013373Sgabeblack@google.com 2113373Sgabeblack@google.comWhen building your own models, you don't have to use the EXTRAS mechanism and 2213373Sgabeblack@google.comcan instead put your source files alongside regular gem5 sources. 2313373Sgabeblack@google.com 2413373Sgabeblack@google.com 2513373Sgabeblack@google.comExisting examples: 2613373Sgabeblack@google.com 2713373Sgabeblack@google.comsystemc_sc_main - Run code based on an sc_main function. 2813373Sgabeblack@google.comsystemc_simple_object - Build systemc objects into a gem5 object hierarchy. 2913373Sgabeblack@google.com 3013373Sgabeblack@google.com 3113373Sgabeblack@google.comNote that these directories all have a systemc_ prefix so that when EXTRAS 3213373Sgabeblack@google.compastes them into the build directory, they won't conflict with any existing 3313373Sgabeblack@google.comtop level directory. 34