README (13372:28982dc45b17) | README (13463:cbfe45f18909) |
---|---|
1This directory contains a demo of C++ configuration of gem5. The intention 2is to provide a mechanism to allow pre-generated config.ini files generated 3by Python-based gem5 to be reloaded in library-base versions of gem5 4embedded in other systems using C++ calls for simulation control. 5 6This directory contain a demo of hosting a C++ configured version of gem5 7onto SystemC's event loop. The hosting is achieved by replacing 'simulate' 8with a SystemC object which implements an event loop using SystemC scheduler --- 12 unchanged lines hidden (view full) --- 21 sc_module objects. 22 stats.{cc,hh} -- Stats dumping (copied from util/cxx_config) 23 24Read main.cc for more details of the implementation and sc_... files for 25 26To build: 27 28First build gem5 as a library with cxx-config support and (optionally) | 1This directory contains a demo of C++ configuration of gem5. The intention 2is to provide a mechanism to allow pre-generated config.ini files generated 3by Python-based gem5 to be reloaded in library-base versions of gem5 4embedded in other systems using C++ calls for simulation control. 5 6This directory contain a demo of hosting a C++ configured version of gem5 7onto SystemC's event loop. The hosting is achieved by replacing 'simulate' 8with a SystemC object which implements an event loop using SystemC scheduler --- 12 unchanged lines hidden (view full) --- 21 sc_module objects. 22 stats.{cc,hh} -- Stats dumping (copied from util/cxx_config) 23 24Read main.cc for more details of the implementation and sc_... files for 25 26To build: 27 28First build gem5 as a library with cxx-config support and (optionally) |
29without python. Also build a normal gem5 (cxx-config not needed, Python 30needed): | 29without python. When building the library, disable gem5's native SystemC 30API support, as that will conflict with the external version. Also build a 31normal gem5 (cxx-config not needed, Python needed): |
31 32> cd ../../.. 33> scons build/ARM/gem5.opt | 32 33> cd ../../.. 34> scons build/ARM/gem5.opt |
34> scons --with-cxx-config --without-python build/ARM/libgem5_opt.so | 35> scons --with-cxx-config --without-python USE_SYSTEMC=0 \ 36> build/ARM/libgem5_opt.so |
35> cd util/systemc 36 37Note: For MAC / OSX this command should be used: | 37> cd util/systemc 38 39Note: For MAC / OSX this command should be used: |
38> scons --with-cxx-config --without-python build/ARM/libgem5_opt.dylib | 40> scons --with-cxx-config --without-python USE_SYSTEMC=0 \ 41> build/ARM/libgem5_opt.dylib |
39 40Set a proper LD_LIBRARY_PATH e.g. for bash: 41> export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/path/to/gem5/build/ARM/" 42 43or for MAC / OSX: 44> export DYLD_LIBRARY_PATH="$DYLD_LIBRARY_PATH:/path/to/gem5/build/ARM/" 45 46 --- 37 unchanged lines hidden --- | 42 43Set a proper LD_LIBRARY_PATH e.g. for bash: 44> export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/path/to/gem5/build/ARM/" 45 46or for MAC / OSX: 47> export DYLD_LIBRARY_PATH="$DYLD_LIBRARY_PATH:/path/to/gem5/build/ARM/" 48 49 --- 37 unchanged lines hidden --- |