X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmem%2Fruby%2Fslicc_interface%2FAbstractController.hh;h=42d158653cb4f08c5b6a166a3a8f32fd00cdefd1;hb=7a0d5aafe4b845a2d1cff6210d7c6ee66e8aba61;hp=36b4665c38c7f93f390a91b9eb8b3f0e791052a7;hpb=00286fc5cbb7b8635d56eb335fed11d1499e2552;p=gem5.git diff --git a/src/mem/ruby/slicc_interface/AbstractController.hh b/src/mem/ruby/slicc_interface/AbstractController.hh index 36b4665c3..42d158653 100644 --- a/src/mem/ruby/slicc_interface/AbstractController.hh +++ b/src/mem/ruby/slicc_interface/AbstractController.hh @@ -96,6 +96,9 @@ class AbstractController : public ClockedObject, public Consumer virtual void collateStats() {fatal("collateStats() should be overridden!");} + //! Set the message buffer with given name. + virtual void setNetQueue(const std::string& name, MessageBuffer *b) = 0; + public: MachineID getMachineID() const { return m_machineID; } @@ -103,25 +106,12 @@ class AbstractController : public ClockedObject, public Consumer Stats::Histogram& getDelayVCHist(uint32_t index) { return *(m_delayVCHistogram[index]); } - MessageBuffer *getPeerQueue(uint32_t pid) - { - std::map::iterator it = - peerQueueMap.find(pid); - assert(it != peerQueueMap.end()); - return (*it).second; - } - protected: //! Profiles original cache requests including PUTs void profileRequest(const std::string &request); //! Profiles the delay associated with messages. void profileMsgDelay(uint32_t virtualNetwork, Cycles delay); - //! Function for connecting peer controllers - void connectWithPeer(AbstractController *); - virtual void getQueuesFromPeer(AbstractController *) - { fatal("getQueuesFromPeer() should be called only if implemented!"); } - void stallBuffer(MessageBuffer* buf, Address addr); void wakeUpBuffers(Address addr); void wakeUpAllBuffers(Address addr); @@ -147,9 +137,6 @@ class AbstractController : public ClockedObject, public Consumer unsigned int m_buffer_size; Cycles m_recycle_latency; - //! Map from physical network number to the Message Buffer. - std::map peerQueueMap; - //! Counter for the number of cycles when the transitions carried out //! were equal to the maximum allowed Stats::Scalar m_fully_busy_cycles;