gem5
v21.0.1.0
|
#include <episode.hh>
Classes | |
class | Action |
Public Types | |
typedef AddressManager::Location | Location |
typedef AddressManager::Value | Value |
Public Member Functions | |
Episode (ProtocolTester *tester, TesterThread *thread, int num_loads, int num_stores) | |
~Episode () | |
int | getEpisodeId () const |
const Action * | peekCurAction () const |
void | popAction () |
bool | hasMoreActions () const |
void | completeEpisode () |
bool | isEpsActive () const |
bool | checkDRF (Location atomic_loc, Location loc, bool isStore, int max_lane) const |
Private Types | |
typedef std::vector< Action * > | ActionList |
typedef std::vector< Location > | AtomicLocationList |
Private Member Functions | |
void | initActions () |
Private Attributes | |
ProtocolTester * | tester |
TesterThread * | thread |
AddressManager * | addrManager |
int | episodeId |
ActionList | actions |
AtomicLocationList | atomicLocs |
bool | isActive |
int | numLoads |
int | numStores |
int | nextActionIdx |
int | numLanes |
Definition at line 44 of file episode.hh.
|
private |
Definition at line 106 of file episode.hh.
|
private |
Definition at line 109 of file episode.hh.
Definition at line 47 of file episode.hh.
typedef AddressManager::Value Episode::Value |
Definition at line 48 of file episode.hh.
Episode::Episode | ( | ProtocolTester * | tester, |
TesterThread * | thread, | ||
int | num_loads, | ||
int | num_stores | ||
) |
Definition at line 42 of file episode.cc.
References addrManager, atomicLocs, DPRINTFN, episodeId, ProtocolTester::getAddressManager(), ProtocolTester::getNextEpisodeID(), TesterThread::getNumLanes(), initActions(), AddressManager::INVALID_LOCATION, isActive, numLanes, tester, and thread.
Episode::~Episode | ( | ) |
Definition at line 67 of file episode.cc.
References actions.
Definition at line 239 of file episode.cc.
References actions, atomicLocs, TesterThread::getTesterThreadId(), AddressManager::INVALID_LOCATION, numLanes, Episode::Action::STORE, thread, and warn.
Referenced by TesterThread::checkDRF().
void Episode::completeEpisode | ( | ) |
Definition at line 199 of file episode.cc.
References actions, addrManager, AddressManager::INVALID_LOCATION, isActive, numLanes, and AddressManager::releaseLocation().
Referenced by TesterThread::wakeup().
|
inline |
Definition at line 82 of file episode.hh.
References episodeId.
Referenced by DmaThread::hitCallback(), GpuWavefront::hitCallback(), GpuWavefront::issueAcquireOp(), GpuWavefront::issueAtomicOps(), DmaThread::issueLoadOps(), GpuWavefront::issueLoadOps(), GpuWavefront::issueReleaseOp(), DmaThread::issueStoreOps(), GpuWavefront::issueStoreOps(), TesterThread::validateAtomicResp(), and TesterThread::validateLoadResp().
|
inline |
Definition at line 88 of file episode.hh.
References actions, and nextActionIdx.
Referenced by TesterThread::isNextActionReady(), and TesterThread::wakeup().
|
private |
Definition at line 92 of file episode.cc.
References Episode::Action::ACQUIRE, actions, addrManager, Episode::Action::ATOMIC, atomicLocs, ProtocolTester::checkDRF(), AddressManager::finishLocSelection(), AddressManager::getAtomicLoc(), TesterThread::getTesterThreadId(), AddressManager::INVALID_LOCATION, Episode::Action::LOAD, numLanes, numLoads, numStores, panic, MipsISA::random, Episode::Action::RELEASE, Episode::Action::STORE, tester, and thread.
Referenced by Episode().
|
inline |
Definition at line 92 of file episode.hh.
References isActive.
Referenced by TesterThread::checkDRF().
const Episode::Action * Episode::peekCurAction | ( | ) | const |
Definition at line 76 of file episode.cc.
References actions, and nextActionIdx.
Referenced by TesterThread::isNextActionReady().
void Episode::popAction | ( | ) |
Definition at line 85 of file episode.cc.
References actions, and nextActionIdx.
Referenced by TesterThread::issueNextAction().
|
private |
Definition at line 107 of file episode.hh.
Referenced by checkDRF(), completeEpisode(), hasMoreActions(), initActions(), peekCurAction(), popAction(), and ~Episode().
|
private |
Definition at line 101 of file episode.hh.
Referenced by completeEpisode(), Episode(), and initActions().
|
private |
Definition at line 110 of file episode.hh.
Referenced by checkDRF(), Episode(), and initActions().
|
private |
Definition at line 104 of file episode.hh.
Referenced by Episode(), and getEpisodeId().
|
private |
Definition at line 113 of file episode.hh.
Referenced by completeEpisode(), Episode(), and isEpsActive().
|
private |
Definition at line 118 of file episode.hh.
Referenced by hasMoreActions(), peekCurAction(), and popAction().
|
private |
Definition at line 120 of file episode.hh.
Referenced by checkDRF(), completeEpisode(), Episode(), Episode::Action::getLocation(), initActions(), and Episode::Action::setLocation().
|
private |
Definition at line 115 of file episode.hh.
Referenced by initActions().
|
private |
Definition at line 116 of file episode.hh.
Referenced by initActions().
|
private |
Definition at line 99 of file episode.hh.
Referenced by Episode(), and initActions().
|
private |
Definition at line 100 of file episode.hh.
Referenced by checkDRF(), Episode(), and initActions().