From 67cd04b6fefd74e1f7c2da33f70d13af2a40fabb Mon Sep 17 00:00:00 2001
From: Nilay Vaish <nilay@cs.wisc.edu>
Date: Sat, 1 Mar 2014 23:59:57 -0600
Subject: ruby: make the max_size variable of the MessageBuffer unsigned

---
 src/mem/ruby/buffers/MessageBuffer.cc              | 6 +++---
 src/mem/ruby/buffers/MessageBuffer.hh              | 4 ++--
 src/mem/ruby/slicc_interface/AbstractController.hh | 2 +-
 src/mem/ruby/slicc_interface/Controller.py         | 3 ++-
 4 files changed, 8 insertions(+), 7 deletions(-)

(limited to 'src/mem/ruby')

diff --git a/src/mem/ruby/buffers/MessageBuffer.cc b/src/mem/ruby/buffers/MessageBuffer.cc
index 0a7a78e8d..0486f627e 100644
--- a/src/mem/ruby/buffers/MessageBuffer.cc
+++ b/src/mem/ruby/buffers/MessageBuffer.cc
@@ -49,7 +49,7 @@ MessageBuffer::MessageBuffer(const string &name)
 
     m_ordering_set = false;
     m_strict_fifo = true;
-    m_max_size = -1;
+    m_max_size = 0;
     m_randomization = true;
     m_size_last_time_size_checked = 0;
     m_size_at_cycle_start = 0;
@@ -63,7 +63,7 @@ MessageBuffer::MessageBuffer(const string &name)
     m_vnet_id = 0;
 }
 
-int
+unsigned int
 MessageBuffer::getSize()
 {
     if (m_time_last_time_size_checked != m_receiver->curCycle()) {
@@ -79,7 +79,7 @@ MessageBuffer::areNSlotsAvailable(unsigned int n)
 {
 
     // fast path when message buffers have infinite size
-    if (m_max_size == -1) {
+    if (m_max_size == 0) {
         return true;
     }
 
diff --git a/src/mem/ruby/buffers/MessageBuffer.hh b/src/mem/ruby/buffers/MessageBuffer.hh
index b65717e2d..444a7fc30 100644
--- a/src/mem/ruby/buffers/MessageBuffer.hh
+++ b/src/mem/ruby/buffers/MessageBuffer.hh
@@ -134,8 +134,8 @@ class MessageBuffer
         m_ordering_set = true;
     }
 
-    void resize(int size) { m_max_size = size; }
-    int getSize();
+    void resize(unsigned int size) { m_max_size = size; }
+    unsigned int getSize();
     void setRandomization(bool random_flag) { m_randomization = random_flag; }
 
     void clear();
diff --git a/src/mem/ruby/slicc_interface/AbstractController.hh b/src/mem/ruby/slicc_interface/AbstractController.hh
index d6ba928fd..4ef3f328b 100644
--- a/src/mem/ruby/slicc_interface/AbstractController.hh
+++ b/src/mem/ruby/slicc_interface/AbstractController.hh
@@ -146,7 +146,7 @@ class AbstractController : public ClockedObject, public Consumer
     unsigned int m_cur_in_port;
     int m_number_of_TBEs;
     int m_transitions_per_cycle;
-    int m_buffer_size;
+    unsigned int m_buffer_size;
     Cycles m_recycle_latency;
 
     //! Map from physical network number to the Message Buffer.
diff --git a/src/mem/ruby/slicc_interface/Controller.py b/src/mem/ruby/slicc_interface/Controller.py
index 638d50b61..f82e0a70d 100644
--- a/src/mem/ruby/slicc_interface/Controller.py
+++ b/src/mem/ruby/slicc_interface/Controller.py
@@ -40,7 +40,8 @@ class RubyController(ClockedObject):
 
     transitions_per_cycle = \
         Param.Int(32, "no. of  SLICC state machine transitions per cycle")
-    buffer_size = Param.Int(0, "max buffer size 0 means infinite")
+    buffer_size = Param.UInt32(0, "max buffer size 0 means infinite")
+
     recycle_latency = Param.Cycles(10, "")
     number_of_TBEs = Param.Int(256, "")
     ruby_system = Param.RubySystem("")
-- 
cgit v1.2.3