ext: Add SST connector
Review Request #2667 - Created Feb. 20, 2015 and submitted
| Information | |
|---|---|
| Curtis Dunham | |
| gem5 | |
| default | |
| Reviewers | |
| Default | |
Changeset 10708:344bc6b7203d --------------------------- ext: Add SST connector This patch adds a connector that allows gem5 to be used as a component in SST (Structural Simulation Toolkit, sst-simulator.org). At a high level, this allows memory traffic to pass between the two simulators. SST Links are roughly analogous to gem5 Ports, although Links do not have a notion of master and slave. This distinction is important to gem5, so when connecting a gem5 CPU to an SST cache, an ExternalSlave must be used, and similarly when connecting the memory side of SST cache to a gem5 port (for memory <-> I/O), an ExternalMaster must be used. These connectors handle the administrative aspects of gem5 (initialization, simulation, shutdown) as well as translating SST's MemEvents into gem5 Packets and vice-versa.
Posted (Feb. 24, 2015, 9:29 a.m.)
Just curious: what's the motivation for including this code with gem5 and not with SST? I'm not necessarily opposed, just wondering whether you considered putting this code in the SST distribution instead.
Posted (Feb. 24, 2015, 2:24 p.m.)
I see, this is really a wrapper for libgem5_opt that lets you load it into SST. Makes sense.
-
ext/sst/ExtMaster.cc (Diff revision 1) -
Why is the ARM license repeated in every file, but the (shorter) Sandia license is just included by reference? Seems inconsistent.
-
ext/sst/Makefile (Diff revision 1) -
What if you want to use one of the non-opt builds (like fast or debug)? If nothing else, a comment saying that you need to edit this line to do so would be nice, even if it's not worth doing something fancier.
-
ext/sst/README (Diff revision 1) -
Please include a description here, similar to what's in the commit message, so people can know what this is before they're told how to use it :).
Posted (Feb. 24, 2015, 5:55 p.m.)
Not to be difficult, but is it possible for Sandia to just use the standard gem5 license (which is basically the same thing you've already got)? And if yes, can we just include it in the main tree instead of ext?
Ship It!
