Yu-hsin Wang has submitted this change. (
https://gem5-review.googlesource.com/c/public/gem5/+/44528 )
Change subject: systemc: Extend TlmBridges to 512 bits
......................................................................
systemc: Extend TlmBridges to 512 bits
Change-Id: I41763743974665e78ff05203d6ad2b8ac14ad625
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/44528
Reviewed-by: Gabe Black <[email protected]>
Maintainer: Gabe Black <[email protected]>
Tested-by: kokoro <[email protected]>
---
M src/systemc/tlm_bridge/TlmBridge.py
M src/systemc/tlm_bridge/gem5_to_tlm.cc
M src/systemc/tlm_bridge/tlm_to_gem5.cc
3 files changed, 96 insertions(+), 0 deletions(-)
Approvals:
Gabe Black: Looks good to me, approved; Looks good to me, approved
kokoro: Regressions pass
diff --git a/src/systemc/tlm_bridge/TlmBridge.py
b/src/systemc/tlm_bridge/TlmBridge.py
index 0a2aaa7..9238535 100644
--- a/src/systemc/tlm_bridge/TlmBridge.py
+++ b/src/systemc/tlm_bridge/TlmBridge.py
@@ -68,6 +68,30 @@
tlm = TlmInitiatorSocket(64, 'TLM initiator socket')
+class Gem5ToTlmBridge128(Gem5ToTlmBridgeBase):
+ type = 'Gem5ToTlmBridge128'
+ cxx_template_params = [ 'unsigned int BITWIDTH' ]
+ cxx_class = 'sc_gem5::Gem5ToTlmBridge<128>'
+ cxx_header = 'systemc/tlm_bridge/gem5_to_tlm.hh'
+
+ tlm = TlmInitiatorSocket(128, 'TLM initiator socket')
+
+class Gem5ToTlmBridge256(Gem5ToTlmBridgeBase):
+ type = 'Gem5ToTlmBridge256'
+ cxx_template_params = [ 'unsigned int BITWIDTH' ]
+ cxx_class = 'sc_gem5::Gem5ToTlmBridge<256>'
+ cxx_header = 'systemc/tlm_bridge/gem5_to_tlm.hh'
+
+ tlm = TlmInitiatorSocket(256, 'TLM initiator socket')
+
+class Gem5ToTlmBridge512(Gem5ToTlmBridgeBase):
+ type = 'Gem5ToTlmBridge512'
+ cxx_template_params = [ 'unsigned int BITWIDTH' ]
+ cxx_class = 'sc_gem5::Gem5ToTlmBridge<512>'
+ cxx_header = 'systemc/tlm_bridge/gem5_to_tlm.hh'
+
+ tlm = TlmInitiatorSocket(512, 'TLM initiator socket')
+
class TlmToGem5Bridge32(TlmToGem5BridgeBase):
type = 'TlmToGem5Bridge32'
@@ -84,3 +108,27 @@
cxx_header = 'systemc/tlm_bridge/tlm_to_gem5.hh'
tlm = TlmTargetSocket(64, 'TLM target socket')
+
+class TlmToGem5Bridge128(TlmToGem5BridgeBase):
+ type = 'TlmToGem5Bridge128'
+ cxx_template_params = [ 'unsigned int BITWIDTH' ]
+ cxx_class = 'sc_gem5::TlmToGem5Bridge<128>'
+ cxx_header = 'systemc/tlm_bridge/tlm_to_gem5.hh'
+
+ tlm = TlmTargetSocket(128, 'TLM target socket')
+
+class TlmToGem5Bridge256(TlmToGem5BridgeBase):
+ type = 'TlmToGem5Bridge256'
+ cxx_template_params = [ 'unsigned int BITWIDTH' ]
+ cxx_class = 'sc_gem5::TlmToGem5Bridge<256>'
+ cxx_header = 'systemc/tlm_bridge/tlm_to_gem5.hh'
+
+ tlm = TlmTargetSocket(256, 'TLM target socket')
+
+class TlmToGem5Bridge512(TlmToGem5BridgeBase):
+ type = 'TlmToGem5Bridge512'
+ cxx_template_params = [ 'unsigned int BITWIDTH' ]
+ cxx_class = 'sc_gem5::TlmToGem5Bridge<512>'
+ cxx_header = 'systemc/tlm_bridge/tlm_to_gem5.hh'
+
+ tlm = TlmTargetSocket(512, 'TLM target socket')
diff --git a/src/systemc/tlm_bridge/gem5_to_tlm.cc
b/src/systemc/tlm_bridge/gem5_to_tlm.cc
index e1cc087..c7d1b16 100644
--- a/src/systemc/tlm_bridge/gem5_to_tlm.cc
+++ b/src/systemc/tlm_bridge/gem5_to_tlm.cc
@@ -62,6 +62,9 @@
#include "params/Gem5ToTlmBridge32.hh"
#include "params/Gem5ToTlmBridge64.hh"
+#include "params/Gem5ToTlmBridge128.hh"
+#include "params/Gem5ToTlmBridge256.hh"
+#include "params/Gem5ToTlmBridge512.hh"
#include "sim/eventq.hh"
#include "sim/system.hh"
#include "systemc/tlm_bridge/sc_ext.hh"
@@ -538,3 +541,24 @@
return new sc_gem5::Gem5ToTlmBridge<64>(
*this, sc_core::sc_module_name(name.c_str()));
}
+
+sc_gem5::Gem5ToTlmBridge<128> *
+Gem5ToTlmBridge128Params::create() const
+{
+ return new sc_gem5::Gem5ToTlmBridge<128>(
+ *this, sc_core::sc_module_name(name.c_str()));
+}
+
+sc_gem5::Gem5ToTlmBridge<256> *
+Gem5ToTlmBridge256Params::create() const
+{
+ return new sc_gem5::Gem5ToTlmBridge<256>(
+ *this, sc_core::sc_module_name(name.c_str()));
+}
+
+sc_gem5::Gem5ToTlmBridge<512> *
+Gem5ToTlmBridge512Params::create() const
+{
+ return new sc_gem5::Gem5ToTlmBridge<512>(
+ *this, sc_core::sc_module_name(name.c_str()));
+}
diff --git a/src/systemc/tlm_bridge/tlm_to_gem5.cc
b/src/systemc/tlm_bridge/tlm_to_gem5.cc
index 143eeac..36809d3 100644
--- a/src/systemc/tlm_bridge/tlm_to_gem5.cc
+++ b/src/systemc/tlm_bridge/tlm_to_gem5.cc
@@ -61,6 +61,9 @@
#include "params/TlmToGem5Bridge32.hh"
#include "params/TlmToGem5Bridge64.hh"
+#include "params/TlmToGem5Bridge128.hh"
+#include "params/TlmToGem5Bridge256.hh"
+#include "params/TlmToGem5Bridge512.hh"
#include "sim/system.hh"
#include "systemc/ext/core/sc_module_name.hh"
#include "systemc/ext/core/sc_time.hh"
@@ -558,3 +561,24 @@
return new sc_gem5::TlmToGem5Bridge<64>(
*this, sc_core::sc_module_name(name.c_str()));
}
+
+sc_gem5::TlmToGem5Bridge<128> *
+TlmToGem5Bridge128Params::create() const
+{
+ return new sc_gem5::TlmToGem5Bridge<128>(
+ *this, sc_core::sc_module_name(name.c_str()));
+}
+
+sc_gem5::TlmToGem5Bridge<256> *
+TlmToGem5Bridge256Params::create() const
+{
+ return new sc_gem5::TlmToGem5Bridge<256>(
+ *this, sc_core::sc_module_name(name.c_str()));
+}
+
+sc_gem5::TlmToGem5Bridge<512> *
+TlmToGem5Bridge512Params::create() const
+{
+ return new sc_gem5::TlmToGem5Bridge<512>(
+ *this, sc_core::sc_module_name(name.c_str()));
+}
--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/44528
To unsubscribe, or for help writing mail filters, visit
https://gem5-review.googlesource.com/settings
Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I41763743974665e78ff05203d6ad2b8ac14ad625
Gerrit-Change-Number: 44528
Gerrit-PatchSet: 3
Gerrit-Owner: Yu-hsin Wang <[email protected]>
Gerrit-Reviewer: Earl Ou <[email protected]>
Gerrit-Reviewer: Gabe Black <[email protected]>
Gerrit-Reviewer: Gabe Black <[email protected]>
Gerrit-Reviewer: Jui-min Lee <[email protected]>
Gerrit-Reviewer: Yu-hsin Wang <[email protected]>
Gerrit-Reviewer: kokoro <[email protected]>
Gerrit-MessageType: merged
_______________________________________________
gem5-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s