Do not trap access to floating point registers
authorHarry Liebel <Harry.Liebel@arm.com>
Tue, 14 Jan 2014 18:11:48 +0000 (18:11 +0000)
committerDan Handley <dan.handley@arm.com>
Fri, 17 Jan 2014 10:27:53 +0000 (10:27 +0000)
commit4f6036834fb7f53e3002c37af1c9d0681e8ef675
treeaf1bdd052679342b63b7b7a0d44cb51d34dc1e19
parente83b0cadc67882c1ba7f430d16dab80c9b3a0228
Do not trap access to floating point registers

Traps when accessing architectural features are disabled by clearing bits
in CPTR_EL3 during early boot, including accesses to floating point
registers. The value of this register was previously undetermined, causing
unwanted traps to EL3. Future EL3 code (for example, context save/restore
code) may use floating point registers, although they are not used by current
code.

Also, the '-mgeneral-regs-only' flag is enabled in the GCC settings to
prevent generation of code that uses floating point registers.

Change-Id: I9a03675f6387bbbee81a6f2c9ccf81150db03747
Makefile
bl1/aarch64/bl1_arch_setup.c
bl1/aarch64/bl1_entrypoint.S
bl31/aarch64/bl31_arch_setup.c
bl31/aarch64/bl31_entrypoint.S
docs/change-log.md
docs/user-guide.md
include/aarch64/arch.h