Go to the documentation of this file.
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;
bool sendTimingReq(PacketPtr pkt)
Attempt to send a timing request to the responder port by calling its corresponding receive function.
void incrementCycleCompletions()
Command
List of all commands associated with a packet.
A RequestPort is a specialisation of a Port, which implements the default protocol for the three diff...
RubyDirectedTester * m_directed_tester
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
ProbePointArg< PacketInfo > Packet
Packet probe point.
std::shared_ptr< Request > RequestPtr
void performCallback(uint32_t proc, Addr address)
InvalidateGenerator(const Params &p)
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
RequestPort * getCpuPort(int idx)
uint32_t m_addr_increment_size
DirectedGeneratorParams Params
void allocate()
Allocate memory for the packet.
uint32_t m_active_inv_node
ruby::InvalidateGeneratorStatus m_status
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
uint32_t m_active_read_node
#define panic(...)
This implements a cprintf based panic() function.
Generated on Sun Jul 30 2023 01:56:53 for gem5 by doxygen 1.8.17