Ruby: Fix to return cache block size to CPU for split data transfers
authorJoel Hestness <hestness@cs.utexas.edu>
Mon, 7 Feb 2011 06:14:18 +0000 (22:14 -0800)
committerJoel Hestness <hestness@cs.utexas.edu>
Mon, 7 Feb 2011 06:14:18 +0000 (22:14 -0800)
src/mem/ruby/system/RubyPort.cc
src/mem/ruby/system/RubyPort.hh

index d1c306bb29f511c588777818769767a3239252c4..305228a8fc90df6ffb830c6deda443ea67280308 100644 (file)
@@ -370,3 +370,9 @@ RubyPort::M5Port::isPhysMemAddress(Addr addr)
     }
     return false;
 }
+
+unsigned
+RubyPort::M5Port::deviceBlockSize() const
+{
+    return (unsigned) RubySystem::getBlockSizeBytes();
+}
index 56701cd5c398822001bf452cabd425740be35188..a2316781ae707eaecbf9958ad4725b461a427c53 100644 (file)
@@ -36,6 +36,7 @@
 #include "mem/physical.hh"
 #include "mem/protocol/RequestStatus.hh"
 #include "mem/ruby/libruby.hh"
+#include "mem/ruby/system/System.hh"
 #include "mem/tport.hh"
 #include "params/RubyPort.hh"
 
@@ -54,6 +55,7 @@ class RubyPort : public MemObject
         M5Port(const std::string &_name, RubyPort *_port);
         bool sendTiming(PacketPtr pkt);
         void hitCallback(PacketPtr pkt);
+        unsigned deviceBlockSize() const;
 
       protected:
         virtual bool recvTiming(PacketPtr pkt);