summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Hestness <hestness@cs.utexas.edu>2011-02-06 22:14:18 -0800
committerJoel Hestness <hestness@cs.utexas.edu>2011-02-06 22:14:18 -0800
commitdedb4fbf058c96597cd48e506e4a3479b192d9aa (patch)
treea55a9c77fbe1b91d2ff7d59e25b0a3f814c39625
parent82844618fd91338ad54d3fcf7ea9fa088b04ab1a (diff)
downloadgem5-dedb4fbf058c96597cd48e506e4a3479b192d9aa.tar.xz
Ruby: Fix to return cache block size to CPU for split data transfers
-rw-r--r--src/mem/ruby/system/RubyPort.cc6
-rw-r--r--src/mem/ruby/system/RubyPort.hh2
2 files changed, 8 insertions, 0 deletions
diff --git a/src/mem/ruby/system/RubyPort.cc b/src/mem/ruby/system/RubyPort.cc
index d1c306bb2..305228a8f 100644
--- a/src/mem/ruby/system/RubyPort.cc
+++ b/src/mem/ruby/system/RubyPort.cc
@@ -370,3 +370,9 @@ RubyPort::M5Port::isPhysMemAddress(Addr addr)
}
return false;
}
+
+unsigned
+RubyPort::M5Port::deviceBlockSize() const
+{
+ return (unsigned) RubySystem::getBlockSizeBytes();
+}
diff --git a/src/mem/ruby/system/RubyPort.hh b/src/mem/ruby/system/RubyPort.hh
index 56701cd5c..a2316781a 100644
--- a/src/mem/ruby/system/RubyPort.hh
+++ b/src/mem/ruby/system/RubyPort.hh
@@ -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);