summaryrefslogtreecommitdiff
path: root/src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc
diff options
context:
space:
mode:
authorNilay Vaish <nilay@cs.wisc.edu>2013-03-06 21:53:16 -0600
committerNilay Vaish <nilay@cs.wisc.edu>2013-03-06 21:53:16 -0600
commite8802fa127f5a446e708eb9f7ce8509e850bf699 (patch)
tree7845eb915cdf2718e8264f5811e0be22aaddf342 /src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc
parent09b2430e95df4f744a000bac34100eeb9ebcb878 (diff)
downloadgem5-e8802fa127f5a446e708eb9f7ce8509e850bf699.tar.xz
ruby: garnet: fixed: implement functional access
Diffstat (limited to 'src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc')
-rw-r--r--src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc b/src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc
index ca4d6aabe..bdae26fd0 100644
--- a/src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc
@@ -372,3 +372,15 @@ NetworkInterface_d::print(std::ostream& out) const
{
out << "[Network Interface]";
}
+
+uint32_t
+NetworkInterface_d::functionalWrite(Packet *pkt)
+{
+ uint32_t num_functional_writes = 0;
+ for (unsigned int i = 0; i < m_num_vcs; ++i) {
+ num_functional_writes += m_ni_buffers[i]->functionalWrite(pkt);
+ }
+
+ num_functional_writes += outSrcQueue->functionalWrite(pkt);
+ return num_functional_writes;
+}