summaryrefslogtreecommitdiff
path: root/configs/learning_gem5/part3
diff options
context:
space:
mode:
authorJason Lowe-Power <jason@lowepower.com>2019-05-16 19:09:56 -0700
committerJason Lowe-Power <jason@lowepower.com>2019-05-17 17:16:07 +0000
commite2656006df442a995bf80ee03fa9700d6ec14537 (patch)
tree5a53ae690b6ca9e222c5f9cb26be1c4d62f9c8a2 /configs/learning_gem5/part3
parent279501816a5fbff6dffe2a1a7c57bd26ae50eb62 (diff)
downloadgem5-e2656006df442a995bf80ee03fa9700d6ec14537.tar.xz
configs: Generalize FileSystemConfig for non se.py
This patch updates the FileSystemConfig so it works with more kinds of config scripts (e.g., the Learning gem5 scripts). There are 4 main changes: - Added system as a parameter to the config_filesystem function so the function can search the system for the number of CPUs instead of relying on options from Options.py - Instead of calling redirect_paths everywhere config_filesystem is used, now it is implicitly called. - Cleaned up the Ruby scripts a bit to remove redundant calls to config_filesystem - Added a config_filesystem call to the Ruby Learning gem5 script (currently the only Learning gem5 script that requires it). In the future, I think it would be better to move the config_filesystem call into simulate.py, probably into the instantiate function. I tried to use the per-CPU configuration parameters instead of options from Options.py, but that's not possible until after the SimObject params have been finalized in instantiate. Change-Id: Ie6501a7435cfb3ac9d2b45be3722388b34063b1e Signed-off-by: Jason Lowe-Power <jason@lowepower.com> Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/18848 Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br> Tested-by: kokoro <noreply+kokoro@google.com>
Diffstat (limited to 'configs/learning_gem5/part3')
-rw-r--r--configs/learning_gem5/part3/simple_ruby.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/configs/learning_gem5/part3/simple_ruby.py b/configs/learning_gem5/part3/simple_ruby.py
index bcd5044a1..0c622d070 100644
--- a/configs/learning_gem5/part3/simple_ruby.py
+++ b/configs/learning_gem5/part3/simple_ruby.py
@@ -45,6 +45,10 @@ import m5
# import all of the SimObjects
from m5.objects import *
+# Needed for running C++ threads
+m5.util.addToPath('../../')
+from common.FileSystemConfig import config_filesystem
+
# You can import ruby_caches_MI_example to use the MI_example protocol instead
# of the MSI protocol
from msi_caches import MyCacheSystem
@@ -95,6 +99,9 @@ for cpu in system.cpu:
cpu.workload = process
cpu.createThreads()
+# Set up the pseudo file system for the threads function above
+config_filesystem(system)
+
# set up the root SimObject and start the simulation
root = Root(full_system = False, system = system)
# instantiate all of the objects we've created above