40 #include "config/the_isa.hh" 59 for (
int i = 0;
i < 6;
i++)
60 arg[
i] = process->getSyscallArg(tc, index);
68 _name, arg[0], arg[1], arg[2], arg[3], arg[4], arg[5]);
79 *fault = std::make_shared<SyscallRetryFault>();
85 process->setSyscallReturn(tc, retval);
void doSyscall(int callnum, ThreadContext *tc, Fault *fault)
Interface for invoking the system call funcion pointer.
virtual Process * getProcessPtr()=0
ThreadContext is the external interface to all thread state for anything outside of the CPU...
#define DPRINTF_SYSCALL(FLAGEXT, FMT,...)
This macro is intended to help with readability.
int64_t encodedValue() const
The encoded value (as described above)
SyscallExecutor executor
Mechanism for ISAs to connect to the emul function definitions.
std::string _name
System call name (e.g., open, mmap, clone, socket, etc.)
Defines global host-dependent types: Counter, Tick, and (indirectly) {int,uint}{8,16,32,64}_t.
bool suppressed() const
Should returning this value be suppressed?
bool needsRetry() const
Does the syscall need to be retried?
This class represents the return value from an emulated system call, including any errno setting...
static const int NumArgumentRegs M5_VAR_USED
std::shared_ptr< FaultBase > Fault