Yu-hsin Wang has uploaded this change for review. (
https://gem5-review.googlesource.com/c/public/gem5/+/39815 )
Change subject: systemc: set Gem5ToTlmBridge blockingRrequest with
TLM_UPDATE returning
......................................................................
systemc: set Gem5ToTlmBridge blockingRrequest with TLM_UPDATE returning
In Gem5ToTlmBridge::pec, the function expects blockingRequest should be
set no matter the tlm peer returns TLM_UPDATE or TLM_ACCEPTED.
However, current implementation only sets blockingRequest when the tlm
peer returns TLM_ACCEPTED. We should also set blockingRequest when the
tlm peer returns TLM_UPDATE.
Change-Id: I87bba3201cd68d52ded93c9c200f4fa4a40bdf5b
---
M src/systemc/tlm_bridge/gem5_to_tlm.cc
1 file changed, 2 insertions(+), 0 deletions(-)
diff --git a/src/systemc/tlm_bridge/gem5_to_tlm.cc
b/src/systemc/tlm_bridge/gem5_to_tlm.cc
index f03548c..fa07ca7 100644
--- a/src/systemc/tlm_bridge/gem5_to_tlm.cc
+++ b/src/systemc/tlm_bridge/gem5_to_tlm.cc
@@ -368,6 +368,8 @@
} else if (status == tlm::TLM_UPDATED) {
// The Timing annotation must be honored:
sc_assert(phase == tlm::END_REQ || phase == tlm::BEGIN_RESP);
+ // Accepted but is now blocking until END_REQ (exclusion rule).
+ blockingRequest = trans;
auto cb = [this, trans, phase]() { pec(*trans, phase); };
system->schedule(new EventFunctionWrapper(cb, "pec", true),
curTick() + delay.value());
--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/39815
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: I87bba3201cd68d52ded93c9c200f4fa4a40bdf5b
Gerrit-Change-Number: 39815
Gerrit-PatchSet: 1
Gerrit-Owner: Yu-hsin Wang <[email protected]>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s