systemc: Check the maximum port size when finializing bindings.

Change-Id: Ie7d704547bb8523a3c44479a89d2af4fcce6e8b6
Reviewed-on: https://gem5-review.googlesource.com/c/13326
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
This commit is contained in:
Gabe Black
2018-10-07 01:38:41 -07:00
parent d5b44338fd
commit a8f873a806

View File

@@ -125,6 +125,14 @@ Port::finalize()
resets.clear();
if (size() > maxSize()) {
std::ostringstream ss;
ss << size() << " binds exceeds maximum of " << maxSize() <<
" allowed";
portBase->report_error(
"(E109) complete binding failed", ss.str().c_str());
}
switch (portBase->_portPolicy()) {
case sc_core::SC_ONE_OR_MORE_BOUND:
if (size() == 0)