1/*
2 * Copyright (c) 1999-2008 Mark D. Hill and David A. Wood
3 * Copyright (c) 2009-2010 Advanced Micro Devices, Inc.
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are
8 * met: redistributions of source code must retain the above copyright

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

80
81 void printStats(std::ostream& out) const {}
82 void clearStats() {}
83 void printConfig(std::ostream& out) const {}
84
85 void print(std::ostream& out) const;
86
87 protected:
88 class DirectedStartEvent : public Event
89 {
90 private:
91 RubyDirectedTester *tester;
88 EventFunctionWrapper directedStartEvent;
89
93 public:
94 DirectedStartEvent(RubyDirectedTester *_tester)
95 : Event(CPU_Tick_Pri), tester(_tester)
96 {}
97 void process() { tester->wakeup(); }
98 virtual const char *description() const { return "Directed tick"; }
99 };
100
101 DirectedStartEvent directedStartEvent;
102
90 private:
91 void hitCallback(NodeID proc, Addr addr);
92
93 void checkForDeadlock();
94
95 // Private copy constructor and assignment operator
96 RubyDirectedTester(const RubyDirectedTester& obj);
97 RubyDirectedTester& operator=(const RubyDirectedTester& obj);
98
99 uint64_t m_requests_completed;
100 std::vector<MasterPort*> ports;
101 uint64_t m_requests_to_complete;
102 DirectedGenerator* generator;
103};
104
105#endif // __CPU_DIRECTEDTEST_RUBYDIRECTEDTESTER_HH__