41#ifndef __CPU_MEMTEST_MEMTEST_HH__
42#define __CPU_MEMTEST_MEMTEST_HH__
44#include <unordered_map>
45#include <unordered_set>
50#include "params/MemTest.hh"
ClockedObject(const ClockedObjectParams &p)
Cycles is a wrapper class for representing cycle counts, i.e.
void recvFunctionalSnoop(PacketPtr pkt)
Receive a functional snoop request packet from the peer.
Tick recvAtomicSnoop(PacketPtr pkt)
Receive an atomic snoop request packet from our peer.
void recvTimingSnoopReq(PacketPtr pkt)
Receive a timing snoop request from the peer.
CpuPort(const std::string &_name, MemTest &_memtest)
void recvReqRetry()
Called by the peer if sendTimingReq was called on this peer (causing recvTimingReq to be called on th...
bool recvTimingResp(PacketPtr pkt)
Receive a timing response from the peer.
EventFunctionWrapper tickEvent
const bool suppressFuncErrors
std::unordered_set< Addr > outstandingAddrs
gem5::MemTest::MemTestStats stats
std::unordered_map< Addr, uint8_t > atomicPendingData
const Cycles progressCheck
const unsigned percentFunctional
Port & getPort(const std::string &if_name, PortID idx=InvalidPortID) override
Get a port with a given name and index.
Addr blockAlign(Addr addr) const
Get the block aligned address.
const unsigned percentAtomic
const unsigned percentReads
void completeRequest(PacketPtr pkt, bool functional=false)
Complete a request by checking the response.
const unsigned progressInterval
std::unordered_map< Addr, uint8_t > referenceData
const unsigned sizeBlocks
EventFunctionWrapper noRequestEvent
EventFunctionWrapper noResponseEvent
RequestorID requestorId
Request id for all generated traffic.
bool sendPkt(PacketPtr pkt)
const unsigned percentUncacheable
Ports are used to interface objects to each other.
static RandomPtr genRandom(Random *r=nullptr)
std::shared_ptr< Random > RandomPtr
RequestPort(const std::string &name, SimObject *_owner, PortID id=InvalidPortID)
Request port.
This is a simple scalar statistic, like a counter.
ClockedObject declaration and implementation.
Copyright (c) 2024 Arm Limited 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.
uint64_t Tick
Tick count type.
Declaration of Statistics objects.
statistics::Scalar numWrites
statistics::Scalar numReads
statistics::Scalar numAtomics
MemTestStats(statistics::Group *parent)