Deleted Added
sdiff udiff text old ( 10311:ad9c042dce54 ) new ( 10522:13312d6e1caf )
full compact
1/*
2 * Copyright (c) 2009 Mark D. Hill and David A. Wood
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 53 unchanged lines hidden (view full) ---

62 void initNetworkPtr(Network* net_ptr) { m_net_ptr = net_ptr; }
63
64 // return instance name
65 void blockOnQueue(Address, MessageBuffer*);
66 void unblock(Address);
67
68 virtual MessageBuffer* getMandatoryQueue() const = 0;
69 virtual AccessPermission getAccessPermission(const Address& addr) = 0;
70 virtual DataBlock& getDataBlock(const Address& addr) = 0;
71
72 virtual void print(std::ostream & out) const = 0;
73 virtual void wakeup() = 0;
74 virtual void resetStats() = 0;
75 virtual void regStats();
76
77 virtual void recordCacheTrace(int cntrl, CacheRecorder* tr) = 0;
78 virtual Sequencer* getSequencer() const = 0;
79
80 //! These functions are used by ruby system to read/write the message
81 //! queues that exist with in the controller.
82 //! The boolean return value indicates if the read was performed
83 //! successfully.
84 virtual bool functionalReadBuffers(PacketPtr&) = 0;
85 //! The return value indicates the number of messages written with the
86 //! data from the packet.
87 virtual uint32_t functionalWriteBuffers(PacketPtr&) = 0;
88
89 //! Function for enqueuing a prefetch request
90 virtual void enqueuePrefetch(const Address&, const RubyRequestType&)
91 { fatal("Prefetches not implemented!");}
92
93 //! Function for collating statistics from all the controllers of this
94 //! particular type. This function should only be called from the
95 //! version 0 of this controller type.

--- 68 unchanged lines hidden ---