summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNilay Vaish <nilay@cs.wisc.edu>2014-11-06 05:42:20 -0600
committerNilay Vaish <nilay@cs.wisc.edu>2014-11-06 05:42:20 -0600
commit68ddfab8a4fa6f56c5f8bff6d91facd39abe353b (patch)
tree96c1f7ec85bedc69a97d9b22b9229ea7ccbb40de
parentd25b722e4a9500f2d4b2ca937900bf093242ddfa (diff)
downloadgem5-68ddfab8a4fa6f56c5f8bff6d91facd39abe353b.tar.xz
ruby: remove the function functionalReadBuffers()
This function was added when I had incorrectly arrived at the conclusion that such a function can improve the chances of a functional read succeeding. As was later realized, this is not possible in the current setup. While the code using this function was dropped long back, this function was not. Hence the patch.
-rw-r--r--src/mem/ruby/slicc_interface/AbstractController.hh7
-rw-r--r--src/mem/slicc/symbols/StateMachine.py24
2 files changed, 2 insertions, 29 deletions
diff --git a/src/mem/ruby/slicc_interface/AbstractController.hh b/src/mem/ruby/slicc_interface/AbstractController.hh
index f30967e48..98fce574f 100644
--- a/src/mem/ruby/slicc_interface/AbstractController.hh
+++ b/src/mem/ruby/slicc_interface/AbstractController.hh
@@ -76,11 +76,8 @@ class AbstractController : public ClockedObject, public Consumer
virtual void recordCacheTrace(int cntrl, CacheRecorder* tr) = 0;
virtual Sequencer* getSequencer() const = 0;
- //! These functions are used by ruby system to read/write the message
- //! queues that exist with in the controller.
- //! The boolean return value indicates if the read was performed
- //! successfully.
- virtual bool functionalReadBuffers(PacketPtr&) = 0;
+ //! These functions are used by ruby system to read/write the data blocks
+ //! that exist with in the controller.
virtual void functionalRead(const Address &addr, PacketPtr) = 0;
//! The return value indicates the number of messages written with the
//! data from the packet.
diff --git a/src/mem/slicc/symbols/StateMachine.py b/src/mem/slicc/symbols/StateMachine.py
index 736013612..009680941 100644
--- a/src/mem/slicc/symbols/StateMachine.py
+++ b/src/mem/slicc/symbols/StateMachine.py
@@ -285,7 +285,6 @@ class $c_ident : public AbstractController
void recordCacheTrace(int cntrl, CacheRecorder* tr);
Sequencer* getSequencer() const;
- bool functionalReadBuffers(PacketPtr&);
uint32_t functionalWriteBuffers(PacketPtr&);
void countTransition(${ident}_State state, ${ident}_Event event);
@@ -988,29 +987,6 @@ $c_ident::${{action.ident}}(const Address& addr)
for func in self.functions:
code(func.generateCode())
- # Function for functional reads from messages buffered in the controller
- code('''
-bool
-$c_ident::functionalReadBuffers(PacketPtr& pkt)
-{
-''')
- for var in self.objects:
- vtype = var.type
- if vtype.isBuffer:
- vid = "m_%s_ptr" % var.ident
- code('if ($vid->functionalRead(pkt)) { return true; }')
-
- for var in self.config_parameters:
- vtype = var.type_ast.type
- if vtype.isBuffer:
- vid = "m_%s_ptr" % var.ident
- code('if ($vid->functionalRead(pkt)) { return true; }')
-
- code('''
- return false;
-}
-''')
-
# Function for functional writes to messages buffered in the controller
code('''
uint32_t