From: Nilay Vaish Date: Thu, 6 Nov 2014 11:42:20 +0000 (-0600) Subject: ruby: remove the function functionalReadBuffers() X-Git-Tag: stable_2015_04_15~144 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=68ddfab8a4fa6f56c5f8bff6d91facd39abe353b;p=gem5.git 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. --- 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