gem5
v21.0.1.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 System::Threads::Thread::context, ThreadContext::Halted, ThreadContext::status(), thread(), and threads.
Referenced by cloneFunc().
|
private |
Definition at line 103 of file system.cc.
References fatal_if, getRemoteGDBPort(), ThreadContext::getSystemPtr(), ArmISA::id, InvalidContextID, System::Threads::Thread::resume(), size(), ArmISA::t, thread(), and threads.
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 System::Threads::Thread::context, X86ISA::count, ThreadContext::Halted, ThreadContext::Halting, ThreadContext::status(), ArmISA::status, thread(), and threads.
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 190 of file system.cc.
References DPRINTFS, EventManager::reschedule(), ArmISA::t, and thread().
Referenced by ThreadContext::quiesceTick().
|
private |
Definition at line 138 of file system.cc.
References ThreadContext::getCpuPtr(), panic_if, EventManager::schedule(), ArmISA::t, and thread().
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(), Gicv3::init(), Plic::init(), Clint::init(), CpuLocalTimer::init(), insert(), MaltaCChip::postIntr(), A9SCU::read(), Gicv3Redistributor::read(), SparcISA::ISA::readFSReg(), ArmISA::ISA::readMiscReg(), CpuLocalTimer::serialize(), GicV2::softInt(), FVPBasePwrCtrl::startup(), 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(), findFree(), insert(), markActive(), numActive(), numRunning(), System::Threads::const_iterator::operator*(), System::Threads::const_iterator::operator->(), operator[](), quiesce(), quiesceTick(), replace(), 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(), findFree(), insert(), numActive(), numRunning(), System::serialize(), size(), thread(), and System::unserialize().