misc,ext: Add gem5/SST integration
Enable a gem5 system to be an SST::Component.
This change includes,
- SST::gem5Component: responsible for,
- initializing the Python environment for gem5
- instantiating gem5 SimObjects
- connecting SST::SSTResponderSubComponent to
- hanlding the gem5 event queue (no thread-synchronization)
- handling executing gem5 events
- SST::SSTResponderSubComponent: responsible for,
- receiving gem5 requests and sending the requests to
- sending responses to the corresponding
- SST::SSTResponder: owned by SSTResponderSubComponent, the
actual actor that sends gem5's requests to memory.
- gem5::OutgoingRequestBridge: receives the requests from
gem5 and sends them to SST. This SimObject allows the initialization
requests to be cached and the receiver could query the
initialization data later on.
- gem5::SSTResponderInterface: the interface specifying how SST
communicates with gem5.
- A working example of a gem5/SST setup.
More information is available at ext/sst/README.md.
For installation instructions, please refer to ext/sst/INSTALL.md.
Signed-off-by: Hoa Nguyen <email@example.com>
Reviewed-by: Giacomo Travaglini <firstname.lastname@example.org>
Reviewed-by: Bobby R. Bruce <email@example.com>
Maintainer: Giacomo Travaglini <firstname.lastname@example.org>
Tested-by: kokoro <email@example.com>
28 files changed