gem5 v24.0.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 |
void | insert (ThreadContext *tc) |
void | replace (ThreadContext *tc, ContextID id) |
Private Attributes | |
std::vector< Thread > | threads |
Friends | |
class | System |
|
inline |
|
inline |
Definition at line 211 of file system.hh.
References threads.
Referenced by gem5::SparcISA::FsWorkload::initState().
|
inline |
ThreadContext * gem5::System::Threads::findFree | ( | ) |
Definition at line 121 of file system.cc.
References gem5::System::Threads::Thread::context, gem5::ThreadContext::Halted, gem5::ThreadContext::status(), thread(), and threads.
Referenced by gem5::doClone().
|
private |
Definition at line 93 of file system.cc.
References gem5::ThreadContext::getSystemPtr(), gem5::Named::name(), gem5::System::Threads::Thread::resume(), gem5::ThreadContext::setContextId(), size(), gem5::ArmISA::t, thread(), and threads.
Referenced by gem5::System::registerThreadContext().
|
inline |
Definition at line 208 of file system.hh.
References gem5::System::Threads::Thread::active, and thread().
Referenced by gem5::System::markWorkItem().
|
inline |
Definition at line 214 of file system.hh.
References gem5::System::Threads::Thread::active, gem5::X86ISA::count, thread(), and threads.
Referenced by gem5::System::markWorkItem().
int gem5::System::Threads::numRunning | ( | ) | const |
Definition at line 131 of file system.cc.
References gem5::System::Threads::Thread::context, gem5::X86ISA::count, gem5::ThreadContext::Halted, gem5::ThreadContext::Halting, gem5::ArmISA::status, gem5::ThreadContext::status(), thread(), and threads.
Referenced by gem5::GicV2::readCpu(), gem5::GicV2::readDistributor(), gem5::GicV2::updateIntState(), gem5::VGic::updateIntState(), and gem5::VGic::VGic().
|
inline |
Definition at line 203 of file system.hh.
References gem5::System::Threads::Thread::context, and thread().
void gem5::System::Threads::quiesce | ( | ContextID | id | ) |
Definition at line 145 of file system.cc.
References DPRINTFS, gem5::ArmISA::t, and thread().
Referenced by gem5::ThreadContext::quiesce().
Definition at line 154 of file system.cc.
References DPRINTFS, gem5::EventManager::reschedule(), gem5::ArmISA::t, and thread().
Referenced by gem5::ThreadContext::quiesceTick().
|
private |
Definition at line 108 of file system.cc.
References gem5::ThreadContext::getCpuPtr(), panic_if, gem5::EventManager::schedule(), gem5::ArmISA::t, and thread().
Referenced by gem5::System::replaceThreadContext().
|
inline |
Definition at line 210 of file system.hh.
References threads.
Referenced by gem5::GicV2Registers::clearBankedDistRange(), gem5::MaltaCChip::clearIntr(), gem5::GicV2Registers::copyBankedDistRange(), gem5::GicV2::copyGicState(), gem5::Linux::cpuOnline(), end(), gem5::exitImpl(), gem5::Iob::generateIpi(), gem5::GicV2::genSwiMask(), gem5::getrlimitFunc(), gem5::CpuLocalTimer::init(), gem5::Gicv3::init(), insert(), gem5::MaltaCChip::postIntr(), gem5::A9SCU::read(), gem5::Gicv3Redistributor::read(), gem5::SparcISA::ISA::readFSReg(), gem5::ArmISA::ISA::readMiscReg(), gem5::schedGetaffinityFunc(), gem5::CpuLocalTimer::serialize(), gem5::GicV2::softInt(), gem5::FVPBasePwrCtrl::startup(), thread(), thread(), gem5::CpuLocalTimer::unserialize(), gem5::GenericTimer::unserialize(), gem5::GicV2::updateIntState(), gem5::GicV2::updateRunPri(), and gem5::pseudo_inst::wakeCPU().
Definition at line 133 of file system.hh.
References gem5::ArmISA::id, size(), and threads.
Referenced by findFree(), insert(), markActive(), numActive(), numRunning(), gem5::System::Threads::const_iterator::operator*(), gem5::System::Threads::const_iterator::operator->(), operator[](), quiesce(), quiesceTick(), and replace().
Definition at line 140 of file system.hh.
References gem5::ArmISA::id, size(), and threads.
|
private |
Definition at line 130 of file system.hh.
Referenced by empty(), findFree(), insert(), numActive(), numRunning(), gem5::System::serialize(), size(), thread(), thread(), and gem5::System::unserialize().