Hi, I'm running riscv-dv with run --test riscv_arithmetic_basic_test --simulator vcs --target rv64gc and its failing spike with this log after test_done is ran:
in the generated assembly. I see that x15 is supposed to be set to the address of the kernel_stack_end set at the beginning of the program
kernel_sp:
la x15, kernel_stack_end
Is it supposed to be at that value when we get to mmode_exception_handler? It seems this address in x15 is overwritten during the program whenever a5 is used in the generated instructions, so when the mmode_exception_handler tries to save at whatever value is in x15/a5, the exception handler throws an unaligned address exception and just runs in a loop of exception handling until it eventually fails with
Access exception occurred while host was accessing memory on behalf of target (tohost = 0xffffffff80017c38):
Memory address 0xffff800178 is invalid
Hi, I'm running riscv-dv with
run --test riscv_arithmetic_basic_test --simulator vcs --target rv64gc
and its failing spike with this log after test_done is ran:corresponding to
in the generated assembly. I see that x15 is supposed to be set to the address of the
kernel_stack_end
set at the beginning of the programIs it supposed to be at that value when we get to mmode_exception_handler? It seems this address in x15 is overwritten during the program whenever a5 is used in the generated instructions, so when the mmode_exception_handler tries to save at whatever value is in x15/a5, the exception handler throws an unaligned address exception and just runs in a loop of exception handling until it eventually fails with