diff options
Diffstat (limited to 'src/mem/ruby/common/Driver.hh')
-rw-r--r-- | src/mem/ruby/common/Driver.hh | 81 |
1 files changed, 31 insertions, 50 deletions
diff --git a/src/mem/ruby/common/Driver.hh b/src/mem/ruby/common/Driver.hh index 9d17fcadb..f5f2f9c58 100644 --- a/src/mem/ruby/common/Driver.hh +++ b/src/mem/ruby/common/Driver.hh @@ -1,4 +1,3 @@ - /* * Copyright (c) 1999-2008 Mark D. Hill and David A. Wood * All rights reserved. @@ -27,58 +26,40 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -/* - * $Id$ - * - * Description: - * - */ - -#ifndef DRIVER_H -#define DRIVER_H +#ifndef __MEM_RUBY_COMMON_DRIVER_HH__ +#define __MEM_RUBY_COMMON_DRIVER_HH__ -#include "mem/ruby/common/Global.hh" +#include "mem/ruby/common/Address.hh" #include "mem/ruby/common/Consumer.hh" +#include "mem/ruby/common/Global.hh" #include "mem/ruby/system/NodeID.hh" -#include "mem/ruby/common/Address.hh" - - -class Driver { -public: - // Constructors - Driver(); - - // Destructor - virtual ~Driver() = 0; - - // Public Methods - virtual void get_network_config() {} - virtual void dmaHitCallback() {}; - virtual void hitCallback(int64_t id) = 0; // Called by sequencer - virtual void go() = 0; - virtual integer_t getInstructionCount(int procID) const { return 1; } - virtual integer_t getCycleCount(int procID) const { return 1; } - virtual void addThreadDependency(int procID, int requestor_thread, int conflict_thread) const { assert(0);} - virtual void printDebug(){} //called by Sequencer - - virtual void printStats(ostream& out) const = 0; - virtual void clearStats() = 0; - - virtual void printConfig(ostream& out) const = 0; - - - virtual integer_t readPhysicalMemory(int procID, physical_address_t address, - int len ){ ASSERT(0); return 0; } - - virtual void writePhysicalMemory( int procID, physical_address_t address, - integer_t value, int len ){ ASSERT(0); } - -protected: - // accessible by subclasses - -private: - // inaccessible by subclasses +class Driver +{ + public: + Driver(); + virtual ~Driver() = 0; + + // Public Methods + virtual void get_network_config() {} + virtual void dmaHitCallback() {}; + virtual void hitCallback(int64_t id) = 0; // Called by sequencer + virtual void go() = 0; + virtual integer_t getInstructionCount(int procID) const; + virtual integer_t getCycleCount(int procID) const; + virtual void addThreadDependency(int procID, int requestor_thread, + int conflict_thread) const; + virtual void printDebug(); //called by Sequencer + + virtual void printStats(ostream& out) const = 0; + virtual void clearStats() = 0; + + virtual void printConfig(ostream& out) const = 0; + + virtual integer_t readPhysicalMemory(int procID, physical_address_t addr, + int len); + virtual void writePhysicalMemory(int procID, physical_address_t addr, + integer_t value, int len); }; -#endif //DRIVER_H +#endif //__MEM_RUBY_COMMON_DRIVER_HH__ |