}
-SyscallDesc AlphaLinuxProcess::syscallDescs[] = {
+SyscallDescABI<DefaultSyscallABI> AlphaLinuxProcess::syscallDescs[] = {
/* 0 */ { "osf_syscall" },
/* 1 */ { "exit", exitFunc },
/* 2 */ { "fork" },
#include "arch/alpha/process.hh"
+#include "sim/syscall_desc.hh"
+
namespace AlphaISA {
/// A process with emulated Alpha/Linux syscalls.
virtual SyscallDesc* getDesc(int callnum);
/// Array of syscall descriptors, indexed by call number.
- static SyscallDesc syscallDescs[];
+ static SyscallDescABI<DefaultSyscallABI> syscallDescs[];
const int Num_Syscall_Descs;
};
}
#endif
-static SyscallDesc syscallDescs32[] = {
+static SyscallDescABI<DefaultSyscallABI> syscallDescs32[] = {
/* 0 */ { "unused#000" },
/* 1 */ { "unused#001" },
/* 2 */ { "unused#002" },
/* 547 */ { "unused#547" },
};
-static SyscallDesc syscallDescs64[] = {
+static SyscallDescABI<DefaultSyscallABI> syscallDescs64[] = {
/* 0 */ { "unused#000" },
/* 1 */ { "exit", exitFunc },
/* 2 */ { "unused#002" },
return 0;
}
-static SyscallDesc syscallDescs32[] = {
+static SyscallDescABI<DefaultSyscallABI> syscallDescs32[] = {
/* 0 */ { "syscall" },
/* 1 */ { "exit", exitFunc },
/* 2 */ { "fork" },
/* 365 */ { "sys_recvmmsg" },
};
-static SyscallDesc syscallDescs64[] = {
+static SyscallDescABI<DefaultSyscallABI> syscallDescs64[] = {
/* 0 */ { "io_setup" },
/* 1 */ { "io_destroy" },
/* 2 */ { "io_submit" },
/* 1079 */ { "fork" }
};
-static SyscallDesc privSyscallDescs32[] = {
+static SyscallDescABI<DefaultSyscallABI> privSyscallDescs32[] = {
/* 1 */ { "breakpoint" },
/* 2 */ { "cacheflush" },
/* 3 */ { "usr26" },
};
// Indices 1, 3 and 4 are unallocated.
-static SyscallDesc privSyscallDescs64[] = {
+static SyscallDescABI<DefaultSyscallABI> privSyscallDescs64[] = {
/* 1 */ { "unallocated" },
/* 2 */ { "cacheflush" },
/* 3 */ { "unallocated" },
return 0;
}
-SyscallDesc MipsLinuxProcess::syscallDescs[] = {
+SyscallDescABI<DefaultSyscallABI> MipsLinuxProcess::syscallDescs[] = {
/* 0 */ { "syscall" },
/* 1 */ { "exit", exitFunc },
/* 2 */ { "fork" },
#include "arch/mips/linux/linux.hh"
#include "arch/mips/process.hh"
#include "sim/eventq.hh"
+#include "sim/syscall_desc.hh"
/// A process with emulated Mips/Linux syscalls.
class MipsLinuxProcess : public MipsProcess
void syscall(ThreadContext *tc, Fault *fault) override;
/// Array of syscall descriptors, indexed by call number.
- static SyscallDesc syscallDescs[];
+ static SyscallDescABI<DefaultSyscallABI> syscallDescs[];
const int Num_Syscall_Descs;
};
return 0;
}
-SyscallDesc PowerLinuxProcess::syscallDescs[] = {
+SyscallDescABI<DefaultSyscallABI> PowerLinuxProcess::syscallDescs[] = {
/* 0 */ { "syscall" },
/* 1 */ { "exit", exitFunc },
/* 2 */ { "fork" },
#include "arch/power/process.hh"
+#include "sim/syscall_desc.hh"
+
/// A process with emulated PPC/Linux syscalls.
class PowerLinuxProcess : public PowerProcess
{
using Process::getSyscallArg;
/// Array of syscall descriptors, indexed by call number.
- static SyscallDesc syscallDescs[];
+ static SyscallDescABI<DefaultSyscallABI> syscallDescs[];
const int Num_Syscall_Descs;
};
return 0;
}
-std::map<int, SyscallDesc> RiscvLinuxProcess64::syscallDescs = {
+std::map<int, SyscallDescABI<DefaultSyscallABI>>
+ RiscvLinuxProcess64::syscallDescs = {
{0, { "io_setup" }},
{1, { "io_destroy" }},
{2, { "io_submit" }},
{2011, { "getmainvars" }}
};
-std::map<int, SyscallDesc> RiscvLinuxProcess32::syscallDescs = {
+std::map<int, SyscallDescABI<DefaultSyscallABI>>
+ RiscvLinuxProcess32::syscallDescs = {
{0, { "io_setup" }},
{1, { "io_destroy" }},
{2, { "io_submit" }},
#include "arch/riscv/linux/linux.hh"
#include "arch/riscv/process.hh"
#include "sim/eventq.hh"
+#include "sim/syscall_desc.hh"
/// A process with emulated Riscv/Linux syscalls.
class RiscvLinuxProcess64 : public RiscvProcess64
void syscall(ThreadContext *tc, Fault *fault) override;
/// Array of syscall descriptors, indexed by call number.
- static std::map<int, SyscallDesc> syscallDescs;
+ static std::map<int, SyscallDescABI<DefaultSyscallABI>> syscallDescs;
};
class RiscvLinuxProcess32 : public RiscvProcess32
void syscall(ThreadContext *tc, Fault *fault) override;
/// Array of syscall descriptors, indexed by call number.
- static std::map<int, SyscallDesc> syscallDescs;
+ static std::map<int, SyscallDescABI<DefaultSyscallABI>> syscallDescs;
};
#endif // __RISCV_LINUX_PROCESS_HH__
#include "arch/sparc/linux/linux.hh"
#include "arch/sparc/process.hh"
#include "sim/process.hh"
+#include "sim/syscall_desc.hh"
namespace SparcISA {
{
public:
/// Array of syscall descriptors, indexed by call number.
- static SyscallDesc syscallDescs[];
+ static SyscallDescABI<DefaultSyscallABI> syscallDescs[];
/// Array of 32 bit compatibility syscall descriptors,
/// indexed by call number.
- static SyscallDesc syscall32Descs[];
+ static SyscallDescABI<DefaultSyscallABI> syscall32Descs[];
SyscallDesc* getDesc(int callnum);
SyscallDesc* getDesc32(int callnum);
return 0;
}
-SyscallDesc SparcLinuxProcess::syscall32Descs[] = {
+SyscallDescABI<DefaultSyscallABI> SparcLinuxProcess::syscall32Descs[] = {
/* 0 */ { "restart_syscall" },
/* 1 */ { "exit", exitFunc }, // 32 bit
/* 2 */ { "fork" },
const int SparcLinuxProcess::Num_Syscall32_Descs =
sizeof(SparcLinuxProcess::syscall32Descs) / sizeof(SyscallDesc);
-SyscallDesc SparcLinuxProcess::syscallDescs[] = {
+SyscallDescABI<DefaultSyscallABI> SparcLinuxProcess::syscallDescs[] = {
/* 0 */ { "restart_syscall" },
/* 1 */ { "exit", exitFunc },
/* 2 */ { "fork" },
}
-SyscallDesc SparcSolarisProcess::syscallDescs[] = {
+SyscallDescABI<DefaultSyscallABI> SparcSolarisProcess::syscallDescs[] = {
/* 0 */ { "syscall" },
/* 1 */ { "exit", exitFunc },
/* 2 */ { "fork" },
#include "arch/sparc/solaris/solaris.hh"
#include "arch/sparc/process.hh"
#include "sim/process.hh"
+#include "sim/syscall_desc.hh"
namespace SparcISA {
void syscall(ThreadContext *tc, Fault *fault) override;
/// Array of syscall descriptors, indexed by call number.
- static SyscallDesc syscallDescs[];
+ static SyscallDescABI<DefaultSyscallABI> syscallDescs[];
const int Num_Syscall_Descs;
};
return 0;
}
-static SyscallDesc syscallDescs64[] = {
+static SyscallDescABI<DefaultSyscallABI> syscallDescs64[] = {
/* 0 */ { "read", readFunc<X86Linux64> },
/* 1 */ { "write", writeFunc<X86Linux64> },
/* 2 */ { "open", openFunc<X86Linux64> },
X86_64Process::clone(old_tc, new_tc, (X86_64Process*)process, flags);
}
-static SyscallDesc syscallDescs32[] = {
+static SyscallDescABI<DefaultSyscallABI> syscallDescs32[] = {
/* 0 */ { "restart_syscall" },
/* 1 */ { "exit", exitFunc },
/* 2 */ { "fork" },