diff options
Diffstat (limited to 'bsps/aarch64/shared/start')
-rw-r--r-- | bsps/aarch64/shared/start/linkcmds.base | 2 | ||||
-rw-r--r-- | bsps/aarch64/shared/start/start.S | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/bsps/aarch64/shared/start/linkcmds.base b/bsps/aarch64/shared/start/linkcmds.base index f4639bd990..d442dbea28 100644 --- a/bsps/aarch64/shared/start/linkcmds.base +++ b/bsps/aarch64/shared/start/linkcmds.base @@ -151,7 +151,7 @@ SECTIONS { } > REGION_RODATA AT > REGION_RODATA_LOAD .data.rel.ro : ALIGN_WITH_INPUT { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) - *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) + *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } > REGION_RODATA AT > REGION_RODATA_LOAD .jcr : ALIGN_WITH_INPUT { KEEP (*(.jcr)) 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 */ |