summaryrefslogtreecommitdiffstats
path: root/bsps/aarch64
diff options
context:
space:
mode:
authorKinsey Moore <kinsey.moore@oarcorp.com>2022-10-27 16:58:01 -0500
committerJoel Sherrill <joel@rtems.org>2022-11-09 08:14:11 -0600
commit698227e6ea3aa45321ea10407462cbdf1c372e99 (patch)
treedaa1da77609de4a50a5f05ceb6f6fbeb2caa6713 /bsps/aarch64
parentzynqmp: Add support for the CFC-400X (diff)
downloadrtems-698227e6ea3aa45321ea10407462cbdf1c372e99.tar.bz2
bsps/aarch64: Ensure FPU trap state is consistent
RTEMS may be booted from a dirty environment. Ensure that FPU trap settings are consistent.
Diffstat (limited to 'bsps/aarch64')
-rw-r--r--bsps/aarch64/shared/start/start.S6
1 files changed, 6 insertions, 0 deletions
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 */