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/>

Reply via email to