33#include "debug/RubyHitMiss.hh"
34#include "debug/RubySequencer.hh"
37#include "params/VIPERSequencer.hh"
58 const MachineType mach,
const bool externalHit,
59 const Cycles initialRequestTime,
60 const Cycles forwardRequestTime,
61 const Cycles firstResponseTime,
62 const bool was_coalesced)
64 if (srequest->
m_type != RubyRequestType_hasNoAddr) {
66 srequest,
data, llscSuccess, mach, externalHit, initialRequestTime,
67 forwardRequestTime, firstResponseTime, was_coalesced);
72 assert(!was_coalesced);
73 DPRINTF(RubySequencer,
"Setting hasNoAddr ticks\n");
77 ->_gpuDynInst->computeUnit()->curCycle();
93 const bool ruby_request,
95 const MachineType mach,
100 if (seq_req.
m_type != RubyRequestType_hasNoAddr) {
102 seq_req,
data, ruby_request, externalHit, mach, initialRequestTime,
103 forwardRequestTime, firstResponseTime);
Cycles curCycle() const
Determine the current cycle, corresponding to a tick aligned to a clock edge.
Cycles is a wrapper class for representing cycle counts, i.e.
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
T * findNextSenderState() const
Go through the sender state stack and return the first instance that is of type T (as determined by a...
void setData(const uint8_t *p)
Copy data into the packet from the provided pointer.
void ruby_hit_callback(PacketPtr pkt)
bool getCooldownEnabled()
RubySystem * m_ruby_system
virtual void hitCallback(SequencerRequest *srequest, DataBlock &data, bool llscSuccess, const MachineType mach, const bool externalHit, const Cycles initialRequestTime, const Cycles forwardRequestTime, const Cycles firstResponseTime, const bool was_coalesced)
virtual bool processReadCallback(SequencerRequest &seq_req, DataBlock &data, const bool rubyRequest, bool externalHit, const MachineType mach, Cycles initialRequestTime, Cycles forwardRequestTime, Cycles firstResponseTime)
bool processReadCallback(SequencerRequest &seq_req, DataBlock &data, const bool rubyRequest, bool externalHit, const MachineType mach, Cycles initialRequestTime, Cycles forwardRequestTime, Cycles firstResponseTime)
VIPERSequencerParams Params
VIPERSequencer(const Params &p)
void hitCallback(SequencerRequest *srequest, DataBlock &data, bool llscSuccess, const MachineType mach, const bool externalHit, const Cycles initialRequestTime, const Cycles forwardRequestTime, const Cycles firstResponseTime, const bool was_coalesced)
Copyright (c) 2024 Arm Limited All rights reserved.