[rtems commit] bsps/aarch64: Ensure FPU trap state is consistent

Joel Sherrill joel at rtems.org
Wed Nov 9 14:01:59 UTC 2022


Module:    rtems
Branch:    master
Commit:    698227e6ea3aa45321ea10407462cbdf1c372e99
Changeset: http://git.rtems.org/rtems/commit/?id=698227e6ea3aa45321ea10407462cbdf1c372e99

Author:    Kinsey Moore <kinsey.moore at oarcorp.com>
Date:      Thu Oct 27 16:58:01 2022 -0500

bsps/aarch64: Ensure FPU trap state is consistent

RTEMS may be booted from a dirty environment. Ensure that FPU trap
settings are consistent.

---

 bsps/aarch64/shared/start/start.S | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/bsps/aarch64/shared/start/start.S b/bsps/aarch64/shared/start/start.S
index 8bd4f86f4e..0237583463 100644
--- a/bsps/aarch64/shared/start/start.S
+++ b/bsps/aarch64/shared/start/start.S
@@ -307,6 +307,12 @@ _el1_start:
 
   /* FPU does not need to be enabled on AArch64 */
 
+  /* Ensure FPU traps are disabled by default */
+  mrs x0, FPCR
+  bic x0, x0, #((1 << 8) | (1 << 9) | (1 << 10) | (1 << 11) | (1 << 12))
+  bic x0, x0, #(1 << 15)
+  msr FPCR, x0
+
 #endif /* AARCH64_MULTILIB_VFP */
 
   /* Branch to start hook 1 */



More information about the vc mailing list