diff options
Diffstat (limited to 'src/systemc/core/process.hh')
-rw-r--r-- | src/systemc/core/process.hh | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/systemc/core/process.hh b/src/systemc/core/process.hh index 0d852afdb..2ec75dc06 100644 --- a/src/systemc/core/process.hh +++ b/src/systemc/core/process.hh @@ -37,6 +37,7 @@ #include "base/fiber.hh" #include "sim/eventq.hh" #include "systemc/core/bindinfo.hh" +#include "systemc/core/event.hh" #include "systemc/core/list.hh" #include "systemc/core/object.hh" #include "systemc/core/sched_event.hh" @@ -259,7 +260,13 @@ class PendingSensitivityFinder : public PendingSensitivity void finalize(Sensitivities &s) override { - s.push_back(new SensitivityEvent(process, &finder->find_event())); + const ::sc_core::sc_port_base *port = finder->port(); + int size = port->size(); + for (int i = 0; i < size; i++) { + ::sc_core::sc_interface *interface = port->_gem5Interface(i); + const ::sc_core::sc_event *event = &finder->find_event(interface); + s.push_back(new SensitivityEvent(process, event)); + } } }; |