gem5
v20.1.0.0
|
#include <system.hh>
Classes | |
class | const_iterator |
struct | Thread |
Public Member Functions | |
ThreadContext * | findFree () |
ThreadContext * | operator[] (ContextID id) const |
void | markActive (ContextID id) |
int | size () const |
bool | empty () const |
int | numRunning () const |
int | numActive () const |
void | quiesce (ContextID id) |
void | quiesceTick (ContextID id, Tick when) |
const_iterator | begin () const |
const_iterator | end () const |
Private Member Functions | |
Thread & | thread (ContextID id) |
const Thread & | thread (ContextID id) const |
ContextID | insert (ThreadContext *tc, ContextID id=InvalidContextID) |
void | replace (ThreadContext *tc, ContextID id) |
Private Attributes | |
std::vector< Thread > | threads |
Friends | |
class | System |
|
inline |
|
inline |
Definition at line 205 of file system.hh.
References threads.
Referenced by SparcISA::FsWorkload::initState(), and System::validKvmEnvironment().
|
inline |
ThreadContext * System::Threads::findFree | ( | ) |
Definition at line 155 of file system.cc.
References ThreadContext::Halted.
Referenced by cloneFunc().
|
private |
Definition at line 103 of file system.cc.
References fatal_if, getRemoteGDBPort(), ThreadContext::getSystemPtr(), ArmISA::id, InvalidContextID, and ArmISA::t.
Referenced by System::registerThreadContext().
|
inline |
Definition at line 202 of file system.hh.
References System::Threads::Thread::active, and thread().
Referenced by System::markWorkItem().
|
inline |
Definition at line 208 of file system.hh.
References System::Threads::Thread::active, X86ISA::count, thread(), and threads.
Referenced by System::markWorkItem().
int System::Threads::numRunning | ( | ) | const |
Definition at line 165 of file system.cc.
References X86ISA::count, ThreadContext::Halted, ThreadContext::Halting, and ArmISA::status.
Referenced by GicV2::readCpu(), GicV2::readDistributor(), VGic::updateIntState(), GicV2::updateIntState(), and VGic::VGic().
|
inline |
Definition at line 197 of file system.hh.
References System::Threads::Thread::context, and thread().
void System::Threads::quiesce | ( | ContextID | id | ) |
Definition at line 179 of file system.cc.
References DPRINTFS, and ArmISA::t.
Referenced by ThreadContext::quiesce().
Definition at line 190 of file system.cc.
References DPRINTFS, and ArmISA::t.
Referenced by ThreadContext::quiesceTick().
|
private |
Definition at line 138 of file system.cc.
References ThreadContext::getCpuPtr(), panic_if, and ArmISA::t.
Referenced by System::replaceThreadContext().
|
inline |
Definition at line 204 of file system.hh.
References threads.
Referenced by System::breakpoint(), MuxingKvmGic::clearBankedDistRange(), MaltaCChip::clearIntr(), MuxingKvmGic::copyBankedDistRange(), MuxingKvmGic::copyGicState(), Linux::cpuOnline(), end(), exitImpl(), MuxingKvmGic::fromKvmToGicV2(), Iob::generateIpi(), GicV2::genSwiMask(), getrlimitFunc(), FVPBasePwrCtrl::init(), Gicv3::init(), CpuLocalTimer::init(), MaltaCChip::postIntr(), A9SCU::read(), Gicv3Redistributor::read(), SparcISA::ISA::readFSReg(), ArmISA::ISA::readMiscReg(), CpuLocalTimer::serialize(), GicV2::softInt(), System::startup(), thread(), CpuLocalTimer::unserialize(), GenericTimer::unserialize(), GicV2::updateIntState(), GicV2::updateRunPri(), and PseudoInst::wakeCPU().
Definition at line 124 of file system.hh.
References ArmISA::id, size(), and threads.
Referenced by System::breakpoint(), markActive(), numActive(), System::Threads::const_iterator::operator*(), System::Threads::const_iterator::operator->(), operator[](), and System::startup().
Definition at line 131 of file system.hh.
References ArmISA::id, size(), and threads.
|
private |
Definition at line 121 of file system.hh.
Referenced by empty(), numActive(), System::serialize(), size(), thread(), and System::unserialize().