summaryrefslogtreecommitdiff
path: root/configs/common/FSConfig.py
diff options
context:
space:
mode:
authorGabor Dozsa <gabor.dozsa@arm.com>2016-01-07 16:33:47 -0600
committerGabor Dozsa <gabor.dozsa@arm.com>2016-01-07 16:33:47 -0600
commit64ca31976fe91eedd91b2d703c6e3e62328f8e1d (patch)
treeaaadab6dfd5d45a7d8794d2033d8ec1b9f845b37 /configs/common/FSConfig.py
parent5dec4e07b89786aa67ce64aadeeb14c81b3977b3 (diff)
downloadgem5-64ca31976fe91eedd91b2d703c6e3e62328f8e1d.tar.xz
config: Updates for distributed gem5 simulations
Diffstat (limited to 'configs/common/FSConfig.py')
-rw-r--r--configs/common/FSConfig.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/configs/common/FSConfig.py b/configs/common/FSConfig.py
index 0f63ec9e7..004d06d55 100644
--- a/configs/common/FSConfig.py
+++ b/configs/common/FSConfig.py
@@ -654,3 +654,39 @@ def makeDualRoot(full_system, testSystem, driveSystem, dumpfile):
self.etherlink.dump = Parent.etherdump
return self
+
+
+def makeDistRoot(testSystem,
+ rank,
+ size,
+ server_name,
+ server_port,
+ sync_repeat,
+ sync_start,
+ linkspeed,
+ linkdelay,
+ dumpfile):
+ self = Root(full_system = True)
+ self.testsys = testSystem
+
+ self.etherlink = DistEtherLink(speed = linkspeed,
+ delay = linkdelay,
+ dist_rank = rank,
+ dist_size = size,
+ server_name = server_name,
+ server_port = server_port,
+ sync_start = sync_start,
+ sync_repeat = sync_repeat)
+
+ if hasattr(testSystem, 'realview'):
+ self.etherlink.int0 = Parent.testsys.realview.ethernet.interface
+ elif hasattr(testSystem, 'tsunami'):
+ self.etherlink.int0 = Parent.testsys.tsunami.ethernet.interface
+ else:
+ fatal("Don't know how to connect DistEtherLink to this system")
+
+ if dumpfile:
+ self.etherdump = EtherDump(file=dumpfile)
+ self.etherlink.dump = Parent.etherdump
+
+ return self