Defines global host-dependent types: Counter, Tick, and (indirectly) {int,uint}{8,...
Cycles is a wrapper class for representing cycle counts, i.e.
void handleReturn(ThreadContext *tc, const SyscallReturn &ret)
void setupRetry(ThreadContext *tc)
void doSyscall(ThreadContext *tc)
Interface for invoking the system call funcion pointer.
virtual void returnInto(ThreadContext *tc, const SyscallReturn &ret)=0
For use within the system call executor if new threads are created and need something returned into t...
Executor executor
Mechanism for ISAs to connect to the emul function definitions.
void retrySyscall(ThreadContext *tc)
This class represents the return value from an emulated system call, including any errno setting.
bool suppressed() const
Should returning this value be suppressed?
int64_t encodedValue() const
The encoded value (as described above)
bool needsRetry() const
Does the syscall need to be retried?
ThreadContext is the external interface to all thread state for anything outside of the CPU.
virtual void activate()=0
Set the status to Active.
virtual BaseCPU * getCpuPtr()=0
virtual void suspend()=0
Set the status to Suspended.
void schedule(Event *event, Tick when, bool global=false)
Schedule the given event on this queue.
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
Tick curTick()
The universal simulation clock.
EventQueue * curEventQueue()
#define DPRINTF_SYSCALL(FLAGEXT, FMT,...)
This macro is intended to help with readability.