You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When I using SE mode to simulate a RISCV multi-threads program in gem5, the following error is reported
src/sim/syscall_desc.hh:209: fatal: Syscall 435 out of range
then I found that the 435 linux system call was not added to SyscallDescTableSEWorkload::SyscallABI64 EmuLinux::syscallDescs64 in the src/arch/riscv/linux/se_workload.cc file. I added the following code with reference to x86
{ 435, "clone3", clone3Func<RiscvLinux64> },
but the compiler reported the following error
scons: Building targets ...
[ CXX] src/arch/riscv/linux/se_workload.cc -> RISCV/arch/riscv/linux/se_workload.fo
src/arch/riscv/linux/se_workload.cc:463:1: error: could not convert ‘{{0, "io_setup"},..., {1079, "fork"}, {2011, "getmainvars"}}
’ from ‘<brace-enclosed initializer list>’ to ‘gem5::SyscallDescTable<gem5::RiscvISA::RegABI64>’
463 | };
| ^
| |
| <brace-enclosed initializer list>
how can I correctly add clone3 under riscv architecture?
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
When I using SE mode to simulate a RISCV multi-threads program in gem5, the following error is reported
then I found that the 435 linux system call was not added to SyscallDescTableSEWorkload::SyscallABI64 EmuLinux::syscallDescs64 in the src/arch/riscv/linux/se_workload.cc file. I added the following code with reference to x86
but the compiler reported the following error
how can I correctly add clone3 under riscv architecture?
Beta Was this translation helpful? Give feedback.
All reactions