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