]> begriffs open source - freertos/commit
Add configUSE_TASK_FPU_SUPPORT to AARCH64 port (#1048)
authorStefanBalt <79701944+StefanBalt@users.noreply.github.com>
Wed, 8 May 2024 11:37:52 +0000 (13:37 +0200)
committerGitHub <noreply@github.com>
Wed, 8 May 2024 11:37:52 +0000 (17:07 +0530)
commit55eceb2203742042714a8dfedd3a8e48908d10c0
tree308d507eeb47626f581c758706c358b373cef4f1
parent067d04e44e00f9970f43a44d3325f0c4e035523e
Add configUSE_TASK_FPU_SUPPORT to AARCH64 port (#1048)

* Add configUSE_TASK_FPU_SUPPORT to AARCH64 port

NEON SIMD is required by standard AARCH64 and its registers are
frequently utilized by standard functions such as memcpy().
This means that even simple tasks that do not use any floating point
arithmetics may still alter the contents of the FPU registers.

For this reason it makes sense to add support for
configUSE_TASK_FPU_SUPPORT to be able to enforce FPU register saving and
restoring globally.

The implementation was largely adopted from the ARM_CA9 port. However,
the FPU registers must be placed on the stack before the critical
nesting count to match the AARCH64 portASM.S.
portable/GCC/ARM_AARCH64/port.c
portable/GCC/ARM_AARCH64/portmacro.h