gem5 v24.0.0.0
|
Functions | |
virtual | gem5::Fiber::~Fiber () |
void | gem5::Fiber::run () |
Start executing the fiber represented by this object. | |
bool | gem5::Fiber::finished () const |
Returns whether the "main" function of this fiber has finished. | |
bool | gem5::Fiber::started () const |
Returns whether the "main" function of this fiber has started. | |
static Fiber * | gem5::Fiber::currentFiber () |
Get a pointer to the current running Fiber. | |
static Fiber * | gem5::Fiber::primaryFiber () |
Get a pointer to the primary Fiber. | |
Variables | |
static const size_t | gem5::Fiber::DefaultStackSize = 0x50000 |
gem5::Fiber::Fiber (size_t stack_size=DefaultStackSize) | |
gem5::Fiber::Fiber (Fiber *link, size_t stack_size=DefaultStackSize) | |
These methods relate to the Fiber interface.
|
static |
Get a pointer to the current running Fiber.
Definition at line 185 of file fiber.cc.
Referenced by gem5::Coroutine< Arg, Ret >::call().
gem5::Fiber::Fiber | ( | Fiber * | link, |
size_t | stack_size = DefaultStackSize ) |
Definition at line 88 of file fiber.cc.
References fatal, gem5::Fiber::guardPage, gem5::Fiber::guardPageSize, and gem5::Fiber::stack.
gem5::Fiber::Fiber | ( | size_t | stack_size = DefaultStackSize | ) |
|
inline |
Returns whether the "main" function of this fiber has finished.
Definition at line 109 of file fiber.hh.
References gem5::Fiber::_finished.
Referenced by sc_gem5::Kernel::init(), gem5::Coroutine< Arg, Ret >::operator bool(), sc_gem5::Scheduler::pause(), sc_gem5::Kernel::regStats(), sc_gem5::Kernel::startup(), sc_gem5::Scheduler::stop(), and sc_gem5::Scheduler::throwUp().
|
static |
Get a pointer to the primary Fiber.
This Fiber represents the thread of execution started by the OS, and which has a Fiber attached to it after the fact.
Definition at line 186 of file fiber.cc.
Referenced by a(), c(), sc_gem5::Process::fiber(), sc_gem5::Scheduler::start(), TEST(), TEST(), and sc_gem5::Scheduler::yield().
void gem5::Fiber::run | ( | ) |
Start executing the fiber represented by this object.
This function will "return" when the current fiber is switched back to later on.
Definition at line 166 of file fiber.cc.
References gem5::Fiber::_finished, gem5::Fiber::_started, gem5::Fiber::createContext(), gem5::Fiber::jmp, and panic_if.
Referenced by gem5::Coroutine< Arg, Ret >::call(), gem5::Coroutine< Arg, Ret >::CallerType::get(), gem5::Coroutine< Arg, Ret >::CallerType::operator()(), gem5::Coroutine< Arg, Ret >::CallerType::operator()(), sc_gem5::Scheduler::pause(), gem5::Fiber::start(), sc_gem5::Scheduler::start(), sc_gem5::Scheduler::stop(), TEST(), sc_gem5::Scheduler::throwUp(), and sc_gem5::Scheduler::yield().
|
inline |
Returns whether the "main" function of this fiber has started.
Definition at line 116 of file fiber.hh.
References gem5::Fiber::_started.
Referenced by TEST().
|
virtual |
Definition at line 112 of file fiber.cc.
References gem5::Fiber::guardPage, gem5::Fiber::guardPageSize, panic_if, gem5::Fiber::stack, and gem5::Fiber::stackSize.