ext: Add SST connector
authorCurtis Dunham <Curtis.Dunham@arm.com>
Wed, 8 Apr 2015 20:56:06 +0000 (15:56 -0500)
committerCurtis Dunham <Curtis.Dunham@arm.com>
Wed, 8 Apr 2015 20:56:06 +0000 (15:56 -0500)
commitf05cb84ed1a61f81c26e4ea22f98454d12f069aa
tree271f47eceadbf5a52597ab4c767ecf7d3ee2e0ff
parentb5770ff5e06a2ef169a648c2abb72dde488dec98
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.
ext/sst/ExtMaster.cc [new file with mode: 0644]
ext/sst/ExtMaster.hh [new file with mode: 0644]
ext/sst/ExtSlave.cc [new file with mode: 0644]
ext/sst/ExtSlave.hh [new file with mode: 0644]
ext/sst/LICENSE [new file with mode: 0644]
ext/sst/Makefile [new file with mode: 0644]
ext/sst/README [new file with mode: 0644]
ext/sst/gem5.cc [new file with mode: 0644]
ext/sst/gem5.hh [new file with mode: 0644]
ext/sst/libgem5.cc [new file with mode: 0644]