55 load(ProcessParams *params,
ObjectFile *obj_file)
override 57 auto arch = obj_file->
getArch();
64 warn(
"Unknown operating system; assuming Linux.");
78 SparcLinuxObjectFileLoader loader;
83 SparcLinuxProcess::getDesc(
int callnum)
85 if (callnum < 0 || callnum >= Num_Syscall_Descs)
87 return &syscallDescs[callnum];
91 SparcLinuxProcess::getDesc32(
int callnum)
93 if (callnum < 0 || callnum >= Num_Syscall32_Descs)
95 return &syscall32Descs[callnum];
98 Sparc32LinuxProcess::Sparc32LinuxProcess(ProcessParams * params,
virtual void syscall(Fault *fault)=0
virtual RegVal readIntReg(RegIndex reg_idx) const =0
Overload hash function for BasicBlockRange type.
void doSyscall(int64_t callnum, ThreadContext *tc, Fault *fault)
ThreadContext is the external interface to all thread state for anything outside of the CPU...
void syscall(ThreadContext *tc, Fault *fault) override
void handleTrap(int trapNum, ThreadContext *tc, Fault *fault) override
Sparc64LinuxProcess(ProcessParams *params, ObjectFile *objFile)
Constructor.
void handleTrap(int trapNum, ThreadContext *tc, Fault *fault) override
A process with emulated 32 bit SPARC/Linux syscalls.
void syscall(ThreadContext *tc, Fault *fault) override
This class provides the wrapper interface for the system call implementations which are defined in th...
This file defines objects used to emulate syscalls from the target application on the host machine...
virtual void handleTrap(int trapNum, ThreadContext *tc, Fault *fault)
Each instance of a Loader subclass will have a chance to try to load an object file when tryLoaders i...
std::shared_ptr< FaultBase > Fault
A process with emulated SPARC/Linux syscalls.