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

Reply via email to