summaryrefslogtreecommitdiff
path: root/src/mem/ruby/network/garnet/flexible-pipeline/flitBuffer.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/mem/ruby/network/garnet/flexible-pipeline/flitBuffer.cc')
-rw-r--r--src/mem/ruby/network/garnet/flexible-pipeline/flitBuffer.cc24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/mem/ruby/network/garnet/flexible-pipeline/flitBuffer.cc b/src/mem/ruby/network/garnet/flexible-pipeline/flitBuffer.cc
index 7fed60762..9446c812a 100644
--- a/src/mem/ruby/network/garnet/flexible-pipeline/flitBuffer.cc
+++ b/src/mem/ruby/network/garnet/flexible-pipeline/flitBuffer.cc
@@ -112,3 +112,27 @@ flitBuffer::print(std::ostream& out) const
out << "[flitBuffer: ";
out << m_buffer.size() << "] " << std::endl;
}
+
+bool
+flitBuffer::functionalRead(Packet *pkt)
+{
+ for (unsigned int i = 0; i < m_buffer.size(); ++i) {
+ if (m_buffer[i]->functionalRead(pkt)) {
+ return true;
+ }
+ }
+ return false;
+}
+
+uint32_t
+flitBuffer::functionalWrite(Packet *pkt)
+{
+ uint32_t num_functional_writes = 0;
+
+ for (unsigned int i = 0; i < m_buffer.size(); ++i) {
+ if (m_buffer[i]->functionalWrite(pkt)) {
+ num_functional_writes++;
+ }
+ }
+ return num_functional_writes;
+}