On Fri, Sep 22, 2023 at 10:46 AM Kinsey Moore <kinsey.mo...@oarcorp.com> wrote:
> On Fri, Sep 22, 2023 at 7:44 AM Sebastian Huber < > sebastian.hu...@embedded-brains.de> wrote: > >> On 21.09.23 16:59, Kinsey Moore wrote: >> > Ok, thanks! I'll take a look and see what I can find. >> >> Thanks, I did run the test case also on riscv and it worked fine in >> uniprocessor and SMP configurations. >> > > Without the patch on SMP, I'm seeing a hang on "B:RtemsIntrReqRaise" on > QEMU (latest from RSB). With the patch on SMP, I'm seeing a somewhat > different assert from inside _Thread_Handler on line 139. > > It seems related, so I'll keep looking into it. > It looks like the "msr spsel, #" directives are swapped in the wrapper function that gets the non-interrupt stack pointer. This has the result of corrupting the interrupt stack with a value from the non-interrupt stack and leaving the interrupt stack in a state to continue recorrupting the non-interrupt stack. As you can imagine, this causes some problems. Swapping the spsel assembly seems to resolve the issue. Kinsey
_______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel