gem5
v19.0.0.0
|
#include <system.hh>
Public Member Functions | |
DumpStatsPCEvent (PCEventScope *s, const std::string &desc, Addr addr) | |
virtual void | process (ThreadContext *tc) |
This function is called whenever the the kernel function "__switch_to" is called to change running tasks. More... | |
![]() | |
PCEvent (PCEventScope *q, const std::string &desc, Addr pc) | |
virtual | ~PCEvent () |
virtual const std::string | name () const |
std::string | descr () const |
Addr | pc () const |
bool | remove () |
Protected Member Functions | |
virtual void | getTaskDetails (ThreadContext *tc, uint32_t &pid, uint32_t &tgid, std::string &next_task_str, int32_t &mm) |
Extracts the information used by the DumpStatsPCEvent by reading the thread_info pointer passed to __switch_to() in 32 bit ARM Linux. More... | |
Additional Inherited Members | |
![]() | |
std::string | description |
PCEventScope * | scope |
Addr | evpc |
|
inline |
|
protectedvirtual |
Extracts the information used by the DumpStatsPCEvent by reading the thread_info pointer passed to __switch_to() in 32 bit ARM Linux.
r0 = task_struct of the previously running process r1 = thread_info of the previously running process r2 = thread_info of the next process to run
Reimplemented in DumpStatsPCEvent64.
Definition at line 284 of file system.cc.
References Linux::ThreadInfo::curTaskMm(), Linux::ThreadInfo::curTaskName(), Linux::ThreadInfo::curTaskPID(), Linux::ThreadInfo::curTaskTGID(), ThreadContext::readIntReg(), and MipsISA::ti.
|
virtual |
This function is called whenever the the kernel function "__switch_to" is called to change running tasks.
Implements PCEvent.
Definition at line 324 of file system.cc.
References ccprintf(), ThreadContext::cpuId(), curTick(), ThreadContext::getCpuPtr(), ThreadContext::getSystemPtr(), LinuxArmSystem::mapPid(), panic, Stats::schedStatEvent(), BaseCPU::setPid(), OutputStream::stream(), LinuxArmSystem::taskFile, BaseCPU::taskId(), and LinuxArmSystem::taskMap.