From d9b18b0f8dea4155c965bb6e0854664f1a156ef6 Mon Sep 17 00:00:00 2001 From: Giacomo Travaglini Date: Thu, 2 Dec 2021 11:34:44 +0000 Subject: [PATCH] ext: Make gem5-SST Memory Size configurable from script The memory interface param was hardcoded to 8GiB therefore not matching any python changes in the memory size Change-Id: I180f57f662886010a38a9b7ebbdbb73e0ae48276 Signed-off-by: Giacomo Travaglini Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/53625 Reviewed-by: Jason Lowe-Power Reviewed-by: Hoa Nguyen Maintainer: Jason Lowe-Power Tested-by: kokoro --- ext/sst/sst_responder_subcomponent.cc | 3 ++- ext/sst/sst_responder_subcomponent.hh | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/ext/sst/sst_responder_subcomponent.cc b/ext/sst/sst_responder_subcomponent.cc index 4c895acdb6..366f99aecf 100644 --- a/ext/sst/sst_responder_subcomponent.cc +++ b/ext/sst/sst_responder_subcomponent.cc @@ -40,6 +40,7 @@ SSTResponderSubComponent::SSTResponderSubComponent(SST::ComponentId_t id, { sstResponder = new SSTResponder(this); gem5SimObjectName = params.find("response_receiver_name", ""); + memSize = params.find("mem_size", "8GiB"); if (gem5SimObjectName == "") assert(false && "The response_receiver_name must be specified"); } @@ -58,7 +59,7 @@ SSTResponderSubComponent::setTimeConverter(SST::TimeConverter* tc) SST::Params interface_params; // This is how you tell the interface the name of the port it should use interface_params.insert("port", "port"); - interface_params.insert("mem_size", "8GiB"); + interface_params.insert("mem_size", memSize.c_str()); // Loads a “memHierarchy.memInterface” into index 0 of the “memory” slot // SHARE_PORTS means the interface can use our port as if it were its own // INSERT_STATS means the interface will inherit our statistic diff --git a/ext/sst/sst_responder_subcomponent.hh b/ext/sst/sst_responder_subcomponent.hh index a897deb367..51bc4f9318 100644 --- a/ext/sst/sst_responder_subcomponent.hh +++ b/ext/sst/sst_responder_subcomponent.hh @@ -67,6 +67,7 @@ class SSTResponderSubComponent: public SST::SubComponent std::vector initRequests; std::string gem5SimObjectName; + std::string memSize; public: SSTResponderSubComponent(SST::ComponentId_t id, SST::Params& params);