On Wed, Aug 12, 2020 at 11:33 AM Utkarsh Rai <utkarsh.ra...@gmail.com> wrote: > > Hello, > I have been testing my code for thread stack isolation against various tests( > Some written by me, and remaining already present). One of the limitations > that I have found is that I encounter fatal errors whenever a context switch > takes place through an ISR. Can you please explain how the context switching > procedure works when an interrupt occurs. When I use gdb for stepping through > the code it asynchronously moves to context switching code from the executing > thread( for example psx16 test). > For thread stack protection, the part that deals with context switching > simply 'sets 'the memory entries of the heir stack and 'unsets' that of the > executing stack.
There are two issues to start: interrupt stacks and dispatching from an ISR. I think you can start by reading some of the documentation: https://docs.rtems.org/branches/master/c-user/interrupt_manager.html#processing-an-interrupt https://docs.rtems.org/branches/master/c-user/scheduling_concepts.html#dispatching-tasks https://docs.rtems.org/branches/master/c-user/config/general.html#configure-interrupt-stack-size https://docs.rtems.org/branches/master/cpu-supplement/port.html#interrupt-processing You can also find some material in rtems-docs.git/porting -- I don't know where that gets generated. Continue to ask questions, and writing blog posts. _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel