When running the 32-bit emulator, we've discovered that the proxy kernel generates inaccurate time results when the 'gettimeofday' system call is made. However, the 64-bit emulator doesn't seem to be impacted by this issue. To address this problem, we've made a modification to the system by forwarding the 'gettimeofday' system call to the Spike front-end server. This allows us to receive the correct time results and resolve the problem. The modification includes both the proxy kernel and Spike.
When running the 32-bit emulator, we've discovered that the proxy kernel generates inaccurate time results when the 'gettimeofday' system call is made. However, the 64-bit emulator doesn't seem to be impacted by this issue. To address this problem, we've made a modification to the system by forwarding the 'gettimeofday' system call to the Spike front-end server. This allows us to receive the correct time results and resolve the problem. The modification includes both the proxy kernel and Spike.
Issue reproduction
1. Compile
2. Execute
Related: https://github.com/riscv-software-src/riscv-isa-sim/pull/1318