40 #include "config/the_isa.hh"
60 for (
int i = 0;
i < 6;
i++)
69 _name, arg[0], arg[1], arg[2], arg[3], arg[4], arg[5]);
72 SyscallReturn retval = (*executor)(
this, callnum, process, tc);
80 *fault = std::make_shared<SyscallRetryFault>();
86 process->setSyscallReturn(tc, retval);
94 return !suppress_warning;
void doSyscall(int callnum, Process *proc, ThreadContext *tc, Fault *fault)
Interface for invoking the system call funcion pointer.
virtual TheISA::IntReg getSyscallArg(ThreadContext *tc, int &i)=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.
std::string _name
System call name (e.g., open, mmap, clone, socket, etc.)
bool needsRetry() const
Does the syscall need to be retried?
Defines global host-dependent types: Counter, Tick, and (indirectly) {int,uint}{8,16,32,64}_t.
static const int NumArgumentRegs M5_VAR_USED
bool _warned
Set if WarnOnce is specified in flags AFTER first call.
int _flags
Holds values set with the preceding enum; note that this has been used primarily for features that ar...
int64_t encodedValue() const
The encoded value (as described above)
Do not set return registers according to executor return value.
This class represents the return value from an emulated system call, including any errno setting...
bool needWarning()
Return false if WarnOnce is set and a warning has already been issued.
std::shared_ptr< FaultBase > Fault