concurrencypthreadsriscvnewlibspike

Concurrency in Spike/Newlib


How do I simulate concurrent programs in the Spike RISC-V ISS using newlib?

What I know is that Spike has a -p flag to simulate multiple processors, but I can't use pthreads or other such system calls since they are not part of newlib. Do I need to install the linux compiler toolchain and simulate a whole linux system for this?


Solution

  • You could just run FreeRTOS, either the contributed RISC-V Spike Simulator GCC port, or the official one in the case it would support spike - I am not sure it does, but it does support qemu if you don't mind using qemu instead of spike.