30 #ifndef __CPU_DIRECTEDTEST_RUBYDIRECTEDTESTER_HH__ 31 #define __CPU_DIRECTEDTEST_RUBYDIRECTEDTESTER_HH__ 42 #include "params/RubyDirectedTester.hh" 58 :
MasterPort(_name, _tester, _id), tester(_tester)
64 {
panic(
"%s does not expect a retry\n",
name()); }
67 typedef RubyDirectedTesterParams
Params;
86 void print(std::ostream& out)
const;
106 #endif // __CPU_DIRECTEDTEST_RUBYDIRECTEDTESTER_HH__ A MasterPort is a specialisation of a BaseMasterPort, which implements the default protocol for the t...
#define panic(...)
This implements a cprintf based panic() function.
RubyDirectedTester * tester
Ports are used to interface objects to each other.
virtual void recvReqRetry()
Called by the peer if sendTimingReq was called on this peer (causing recvTimingReq to be called on th...
const PortID InvalidPortID
MasterPort * getCpuPort(int idx)
CpuPort(const std::string &_name, RubyDirectedTester *_tester, PortID _id)
void init() override
init() is called after all C++ SimObjects have been created and all ports are connected.
uint64_t m_requests_completed
void print(std::ostream &out) const
The ClockedObject class extends the SimObject with a clock and accessor functions to relate ticks to ...
ClockedObject declaration and implementation.
void incrementCycleCompletions()
void printStats(std::ostream &out) const
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
std::vector< MasterPort * > ports
A Packet is used to encapsulate a transfer between two objects in the memory system (e...
EventFunctionWrapper directedStartEvent
RubyDirectedTesterParams Params
Port & getPort(const std::string &if_name, PortID idx=InvalidPortID) override
Get a port with a given name and index.
Declaration of the Packet class.
void printConfig(std::ostream &out) const
const std::string name() const
Return port name (for DPRINTF).
virtual bool recvTimingResp(PacketPtr pkt)
Receive a timing response from the peer.
RubyDirectedTester & operator=(const RubyDirectedTester &obj)
int16_t PortID
Port index/ID type, and a symbolic name for an invalid port id.
DirectedGenerator * generator
RubyDirectedTester(const Params *p)
uint64_t m_requests_to_complete
void hitCallback(NodeID proc, Addr addr)