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

Preston Faiks (@pfaiks) gitlab at rtems.org
Thu Feb 13 22:04:04 UTC 2025




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


The caller should not expect the FPSR to be "preserved" (identical) to what it was when it made the call, but it should expect that it contain the "cumulative exception bits" of anything that it calls.  In this case it calls a routine which blocks but doesn't have any errors. When it returns it should contain the cumulative errors for that thread of execution, NOT all threads of execution.

This is why theaddispatch.c contains this code:
```c
    **_Thread_Save_fp( executing )**;
    _Context_Switch( &executing->Registers, &heir->Registers );
   ** _Thread_Restore_fp( executing );**
```

-- 
View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5214#note_119874
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/20250213/545cbdba/attachment-0001.htm>


More information about the bugs mailing list