Hi In Feb 2020, idle thread stack memory was changed to be statically allocated which is good for most RTEMS deployments. However, it is broken when you REALLY need it to be allocated by the plugin stack allocator.
The paravirtualized environment that tripped over this provides stack memory protection. A special area of memory is reserved for stacks and the processor and host OS enforce that the stack pointer is always within the reserved memory segment. This was possible prior to 5 branching which is what the current RTEMS support for that environment is based on. The code which needs adjusting is a combination of threadcreateidle.c and confdefs/percpu.h which reserves the memory. My current thinking is to add another stack allocator hook for the idle stacks and have it default to a method which does the current mechanism. This default method would be defines in percpu.h and instantiated unless the user configures another method. Thoughts? --joel _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel