From 5ffc16593997b35f4f1abbd149e01169e6bbcff5 Mon Sep 17 00:00:00 2001 From: Nilay Vaish Date: Mon, 15 Oct 2012 17:51:57 -0500 Subject: ruby: improved support for functional accesses This patch adds support to different entities in the ruby memory system for more reliable functional read/write accesses. Only the simple network has been augmented as of now. Later on Garnet will also support functional accesses. The patch adds functional access code to all the different types of messages that protocols can send around. These messages are functionally accessed by going through the buffers maintained by the network entities. The patch also rectifies some of the bugs found in coherence protocols while testing the patch. With this patch applied, functional writes always succeed. But functional reads can still fail. --- src/mem/ruby/slicc_interface/RubyRequest.hh | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/mem/ruby/slicc_interface/RubyRequest.hh') diff --git a/src/mem/ruby/slicc_interface/RubyRequest.hh b/src/mem/ruby/slicc_interface/RubyRequest.hh index 870ad1d0e..a4dadc7a7 100644 --- a/src/mem/ruby/slicc_interface/RubyRequest.hh +++ b/src/mem/ruby/slicc_interface/RubyRequest.hh @@ -126,6 +126,9 @@ class RubyRequest : public Message } void print(std::ostream& out) const; + + bool functionalRead(Packet *pkt); + bool functionalWrite(Packet *pkt); }; inline std::ostream& -- cgit v1.2.3