Skip to content
Snippets Groups Projects
Commit 7aa23797 authored by Gregory Nutt's avatar Gregory Nutt
Browse files

Update TODO

parent 68ee9bca
No related branches found
No related tags found
No related merge requests found
Documentation @ 0d2a964b
Subproject commit f1517cb0bb3fe10986030cd57b5bed1cf48e90b0
Subproject commit 0d2a964b20c73ca7c67f6602345f903055c02623
......@@ -26,7 +26,7 @@ nuttx/
(1) Pascal add-on (pcode/)
(1) Build system / Toolchains
(3) Linux/Cywgin simulation (arch/sim)
(5) ARM (arch/arm/)
(4) ARM (arch/arm/)
apps/
......@@ -1675,31 +1675,6 @@ o ARM (arch/arm/)
If your design needs continuous interrupts like this, please try
the above change and, please, submit a patch with the working fix.
Title: STACK ALIGNMENT IN INTERRUPT HANDLERS
Description: The EABI standard requires that the stack always have a 32-byte
alignment. There is no guarantee at present that the stack will be
so aligned in an interrupt handler. Therefore, I would expect some
issues if, for example, floating point or perhaps long long operations
were performed in an interrupt handler.
This issue exists for ARM7, ARM9, and Cortex-M0 but has been
addressed for the Cortex-M3/4/7 and Cortex-A5/8. The fix
is really simple but cannot be incorporated without some
substantial testing. For ARM, the fix is the following logic
arround each call into C code from assembly:
mov r4, sp /* Save the SP in a preserved register */
bic sp, sp, #7 /* Force 8-byte alignment */
bl cfunction /* Call the C function */
mov sp, r4 /* Restore the possibly unaligned stack pointer */
This same issue applies to the interrupt stack which is, I think
improperly aligned in almost all cases (except Cortex-A5).
Status: Open
Priority: Low for me because I never do floating point operations in
interrupt handlers.
Title: IMPROVED TASK START-UP AND SYSCALL RETURN
Description: Couldn't up_start_task and up_start_pthread syscalls be
eliminated. Wouldn't this work to get us from kernel-
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment