RTEMS | aarch64: The FPSCR (FPSR/FPCR) and FPEXC registers do not have thread storage (#5214)

Preston Faiks (@pfaiks) gitlab at rtems.org
Fri Feb 14 00:24:58 UTC 2025




Preston Faiks commented: https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5214#note_119882


- FPSR upon entering a function is effectively random
  * NO, it should not be random
- may have any value on entry to a subroutine
  * YES, due to the cumulative effects of the FP instructions prior to the function call

The issue here is that the AArch64 PCS only applies to a single thread of execution. The fact that RTEMS is doing a context switch and allowing other threads of execution to affect the FPSR is outside the scope of that document.

What you are effectively saying is that the RTEMS threads are not truly separate threads of execution, but in fact subroutines called by the Context_Switch() function. The only reason it needs to be saved is because its invoking another thread, not because its a callee-saved register.

-- 
View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5214#note_119882
You're receiving this email because of your account on gitlab.rtems.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/bugs/attachments/20250214/8c670514/attachment-0001.htm>


More information about the bugs mailing list