Go to the documentation of this file.
36 #include <sys/syscall.h>
37 #if !defined ( __GNU_LIBRARY__ ) && defined(__FreeBSD__)
38 #include <sys/sysctl.h>
87 #if !defined ( __GNU_LIBRARY__ )
109 uint32_t *hnamep = (uint32_t *)buf.
bufferPtr();
111 size_t *holdlenp = (
size_t *)buf3.
bufferPtr();
113 ret = sysctl((
int *)hnamep, nameLen, holdp, holdlenp, hnewp, newlen);
129 { 3,
"read", readFunc<ArmFreebsd64> },
130 { 4,
"write", writeFunc<ArmFreebsd64> },
132 { 54,
"ioctl", ioctlFunc<ArmFreebsd64> },
134 { 117,
"getrusage", getrusageFunc<ArmFreebsd64> },
135 { 189,
"fstat", fstatFunc<ArmFreebsd64> },
136 #if !defined ( __GNU_LIBRARY__ )
142 { 477,
"mmap", mmapFunc<ArmFreebsd64> }
151 process->Process::syscall(tc);
Each instance of a Loader subclass will have a chance to try to load an object file when tryLoaders i...
SyscallReturn brkFunc(SyscallDesc *desc, ThreadContext *tc, VPtr<> new_brk)
Target brk() handler: set brk address.
static SyscallReturn issetugidFunc(SyscallDesc *desc, ThreadContext *tc)
SyscallReturn readlinkFunc(SyscallDesc *desc, ThreadContext *tc, VPtr<> pathname, VPtr<> buf_ptr, size_t bufsiz)
Target readlink() handler.
static SyscallDescTable< EmuFreebsd::SyscallABI64 > syscallDescs64
virtual Process * getProcessPtr()=0
SyscallReturn exitFunc(SyscallDesc *desc, ThreadContext *tc, int status)
Target exit() handler: terminate current context.
ThreadContext is the external interface to all thread state for anything outside of the CPU.
static SyscallDescTable< EmuFreebsd::SyscallABI32 > syscallDescs32({})
This class represents the return value from an emulated system call, including any errno setting.
void syscall(ThreadContext *tc) override
bool copyIn(PortProxy &memproxy)
copy data into simulator space (read from target memory)
void * bufferPtr()
Return a pointer to the internal simulator-space buffer.
virtual PortProxy & getVirtProxy()=0
virtual Process * load(const ProcessParams ¶ms, ::Loader::ObjectFile *obj_file)=0
Each subclass needs to implement this method.
BufferArg represents an untyped buffer in target user space that is passed by reference to an (emulat...
virtual RegVal readIntReg(RegIndex reg_idx) const =0
static SyscallReturn sysctlFunc(SyscallDesc *desc, ThreadContext *tc, VPtr<> namep, size_t nameLen, VPtr<> oldp, VPtr<> oldlenp, VPtr<> newp, size_t newlen)
This class provides the wrapper interface for the system call implementations which are defined in th...
bool copyOut(PortProxy &memproxy)
copy data out of simulator space (write to target memory)
Generated on Tue Jun 22 2021 15:28:20 for gem5 by doxygen 1.8.17