Hi All, Currently the stack top and size are initialised just after the architecture specific initialisation of the stack, I propose moving the architecture specific initialisation so they can be modified within it and not overwritten.
The PIC32 port needs the stack to be 8 aligned, currently that is achieved by constructing the stack from uint64_ts however this is not guaranteed by the C spec to be effective. A solution would be to align the stack within os_arch_task_stack_init (in case the former method is not effective). The lazy FPU context is stored at the stack top, so this needs to be coherent. As discussed: https://github.com/apache/mynewt-core/pull/474#discussion_r131878603 I have made a PR with these changes: https://github.com/apache/mynewt-core/pull/548/commits/37e4b27eb2736cd8221b63ff8a88b1bf566d94e0 Any comments would be appreciated. Thanks, Julian Ingram Software Design Engineer MIPS Platforms Imagination Technologies Limited t: +44 (0)113 2429814 www.imgtec.com<http://www.imgtec.com/>
