diff options
Diffstat (limited to 'src/mem/ruby/slicc_interface')
-rw-r--r-- | src/mem/ruby/slicc_interface/AbstractController.cc | 6 | ||||
-rw-r--r-- | src/mem/ruby/slicc_interface/AbstractController.hh | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/mem/ruby/slicc_interface/AbstractController.cc b/src/mem/ruby/slicc_interface/AbstractController.cc index 2a53e53be..5d8b6eeea 100644 --- a/src/mem/ruby/slicc_interface/AbstractController.cc +++ b/src/mem/ruby/slicc_interface/AbstractController.cc @@ -192,6 +192,12 @@ AbstractController::blockOnQueue(Addr addr, MessageBuffer* port) m_block_map[addr] = port; } +bool +AbstractController::isBlocked(Addr addr) const +{ + return m_is_blocking && (m_block_map.find(addr) != m_block_map.end()); +} + void AbstractController::unblock(Addr addr) { diff --git a/src/mem/ruby/slicc_interface/AbstractController.hh b/src/mem/ruby/slicc_interface/AbstractController.hh index cfd11b8eb..6f49e5ec4 100644 --- a/src/mem/ruby/slicc_interface/AbstractController.hh +++ b/src/mem/ruby/slicc_interface/AbstractController.hh @@ -73,6 +73,7 @@ class AbstractController : public MemObject, public Consumer // return instance name void blockOnQueue(Addr, MessageBuffer*); + bool isBlocked(Addr) const; void unblock(Addr); bool isBlocked(Addr); |