Difference between revisions of "Extras"

From gem5
Jump to: navigation, search
(-j 2 can be given directly to regress script)
(mention that EXTRAS is sticky)
Line 3: Line 3:
 
The EXTRAS functionality is used to support EIO traces. The trace reader for EIO is licensed under the SimpleScalar license and the code to read these traces is not included in the M5 distribution.  
 
The EXTRAS functionality is used to support EIO traces. The trace reader for EIO is licensed under the SimpleScalar license and the code to read these traces is not included in the M5 distribution.  
  
The next examples show how to compile the EIO code, however if the extras path is modified any other suitable extra could be compiled in. To compile in code using EXTRAS simply execute the following
+
The next examples show how to compile the EIO code.  By adding to or modifying the extras path, any other suitable extra could be compiled in. To compile in code using EXTRAS simply execute the following
 
  scons EXTRAS=/path/to/m5_2.0_encumbered/eio build/ALPHA_SE/m5.opt
 
  scons EXTRAS=/path/to/m5_2.0_encumbered/eio build/ALPHA_SE/m5.opt
  
Inside the directory is a SConscript that SCons uses to compile the appropriate sources and add any SimObjects of iterest.
+
Inside the directory is a SConscript that SCons uses to compile the appropriate sources and add any SimObjects of interest.
 +
 
 +
Note that EXTRAS is a "sticky" parameter, so after a value is provided to scons once, the value will be reused for future scons invocations targeting the same build directory (<code>build/ALPHA_SE</code> in this case) as long as it is not overridden.  Thus you only need to specify EXTRAS the first time you build a particular configuration or if you want to override a previously specified value.  For more information on sticky scons options, see the [[SCons build system]] page.
  
 
To run a regression with EXTRAS use a command line similar to the following:
 
To run a regression with EXTRAS use a command line similar to the following:
 
  ./util/regress --scons-opts="EXTRAS=/tmp/m5_2.0b4_encumbered" -j 2 quick
 
  ./util/regress --scons-opts="EXTRAS=/tmp/m5_2.0b4_encumbered" -j 2 quick

Revision as of 10:46, 15 October 2008

The EXTRAS SCons option is a way to add functionality in M5 without adding your files to the M5 source tree. It's present to allow a user to compile in additional functionality that isn't or can't be distributed with M5. This is useful for code that has an incompatible license, or code that is not suitable for inclusion in the M5 source tree at the present time.

The EXTRAS functionality is used to support EIO traces. The trace reader for EIO is licensed under the SimpleScalar license and the code to read these traces is not included in the M5 distribution.

The next examples show how to compile the EIO code. By adding to or modifying the extras path, any other suitable extra could be compiled in. To compile in code using EXTRAS simply execute the following

scons EXTRAS=/path/to/m5_2.0_encumbered/eio build/ALPHA_SE/m5.opt

Inside the directory is a SConscript that SCons uses to compile the appropriate sources and add any SimObjects of interest.

Note that EXTRAS is a "sticky" parameter, so after a value is provided to scons once, the value will be reused for future scons invocations targeting the same build directory (build/ALPHA_SE in this case) as long as it is not overridden. Thus you only need to specify EXTRAS the first time you build a particular configuration or if you want to override a previously specified value. For more information on sticky scons options, see the SCons build system page.

To run a regression with EXTRAS use a command line similar to the following:

./util/regress --scons-opts="EXTRAS=/tmp/m5_2.0b4_encumbered" -j 2 quick