summaryrefslogtreecommitdiff
path: root/src/sim/SConscript
diff options
context:
space:
mode:
authorDavid Hashe <david.hashe@amd.com>2018-04-18 16:36:55 -0400
committerBrandon Potter <Brandon.Potter@amd.com>2019-04-25 18:11:34 +0000
commit54c77aa055ee41c8a4d2d500781752804cdfc339 (patch)
tree236e474ed1839963f1be6b542f131e509415bdb1 /src/sim/SConscript
parente8d0b755eadffb0203b966479f55a75281522b18 (diff)
downloadgem5-54c77aa055ee41c8a4d2d500781752804cdfc339.tar.xz
sim-se: add a faux-filesystem
This change introduces the concept of a faux-filesystem. The faux-filesystem creates a directory structure in m5out (or whatever output dir the user specifies) where system calls may be redirected. This is useful to avoid non-determinism when reading files with varying path names (e.g., variations from run-to-run if the simulation is scheduled on a cluster where paths may change). Also, this changeset allows circumventing host pseudofiles which have information specific to the host processor (such as cache hierarchy or processor information). Bypassing host pseudofiles can be useful when executing runtimes in the absence of an operating system kernel since runtimes may try to query standard files (i.e. /proc or /sys) which are not relevant to an application executing in syscall emulation mode. Change-Id: I90821b3b403168b904a662fa98b85def1628621c Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/12119 Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Maintainer: Jason Lowe-Power <jason@lowepower.com> Tested-by: kokoro <noreply+kokoro@google.com>
Diffstat (limited to 'src/sim/SConscript')
-rw-r--r--src/sim/SConscript2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/sim/SConscript b/src/sim/SConscript
index 54e251287..8ab2c72f9 100644
--- a/src/sim/SConscript
+++ b/src/sim/SConscript
@@ -38,6 +38,7 @@ SimObject('VoltageDomain.py')
SimObject('System.py')
SimObject('DVFSHandler.py')
SimObject('SubSystem.py')
+SimObject('RedirectPath.py')
Source('arguments.cc')
Source('async.cc')
@@ -56,6 +57,7 @@ Source('init_signals.cc')
Source('main.cc', tags='main')
Source('port.cc')
Source('python.cc', add_tags='python')
+Source('redirect_path.cc')
Source('root.cc')
Source('serialize.cc')
Source('drain.cc')