35#include "debug/DirectedTest.hh"
46 m_status = ruby::InvalidateGeneratorStatus_Load_Waiting;
72 if (
m_status == ruby::InvalidateGeneratorStatus_Load_Waiting) {
73 DPRINTF(DirectedTest,
"initiating read\n");
76 pkt =
new Packet(req, cmd);
77 }
else if (
m_status == ruby::InvalidateGeneratorStatus_Inv_Waiting) {
78 DPRINTF(DirectedTest,
"initiating invalidating write\n");
81 pkt =
new Packet(req, cmd);
83 panic(
"initiate was unexpectedly called\n");
88 DPRINTF(DirectedTest,
"initiating request - successful\n");
89 if (
m_status == ruby::InvalidateGeneratorStatus_Load_Waiting) {
90 m_status = ruby::InvalidateGeneratorStatus_Load_Pending;
92 m_status = ruby::InvalidateGeneratorStatus_Inv_Pending;
101 DPRINTF(DirectedTest,
"failed to issue request - sequencer not ready\n");
111 if (
m_status == ruby::InvalidateGeneratorStatus_Load_Pending) {
118 m_status = ruby::InvalidateGeneratorStatus_Inv_Waiting;
121 m_status = ruby::InvalidateGeneratorStatus_Load_Waiting;
123 }
else if (
m_status == ruby::InvalidateGeneratorStatus_Inv_Pending) {
135 m_status = ruby::InvalidateGeneratorStatus_Load_Waiting;
RubyDirectedTester * m_directed_tester
ruby::InvalidateGeneratorStatus m_status
uint32_t m_addr_increment_size
InvalidateGenerator(const Params &p)
uint32_t m_active_read_node
uint32_t m_active_inv_node
InvalidateGeneratorParams Params
void performCallback(uint32_t proc, Addr address)
Command
List of all commands associated with a packet.
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
void allocate()
Allocate memory for the packet.
A RequestPort is a specialisation of a Port, which implements the default protocol for the three diff...
bool sendTimingReq(PacketPtr pkt)
Attempt to send a timing request to the responder port by calling its corresponding receive function.
RequestPort * getCpuPort(int idx)
void incrementCycleCompletions()
#define panic(...)
This implements a cprintf based panic() function.
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
std::shared_ptr< Request > RequestPtr
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.