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
Spike can simulate multiple threads with -p flag (i.e. spike --isa=rv32i -p4 demo.riscv), so it would be great if we could take advantage of that.
This will most likely involve modification of the files in the core/spike/common folder, particularly crt.S. Right now, crt.S contains the following lines:
# get core id
csrr a0, mhartid
# for now, assume only 1 core
li a1, 1
1:bgeu a0, a1, 1b
# give each core 128KB of stack + TLS
#define STKSHIFT 17
add sp, a0, 1
sll sp, sp, STKSHIFT
add sp, sp, tp
sll a2, a0, STKSHIFT
add tp, tp, a2
j _init
Supporting multiple threads will involve removing the assumption of only 1 core, and then figuring out what to do with the other cores.
The text was updated successfully, but these errors were encountered:
Currently, single-threaded execution on spike works with https://github.com/lf-lang/lingua-franca/tree/baremetal_spike_support and https://github.com/lf-lang/reactor-c/tree/baremetal_spike_support. However, there is no existing support for multi-threaded execution.
Spike can simulate multiple threads with
-p
flag (i.e.spike --isa=rv32i -p4 demo.riscv
), so it would be great if we could take advantage of that.This will most likely involve modification of the files in the
core/spike/common
folder, particularlycrt.S
. Right now,crt.S
contains the following lines:Supporting multiple threads will involve removing the assumption of only 1 core, and then figuring out what to do with the other cores.
The text was updated successfully, but these errors were encountered: