arm-trusted-firmware/docs
David Cunado 1a853370ff Enable SVE for Non-secure world
This patch adds a new build option, ENABLE_SVE_FOR_NS, which when set
to one EL3 will check to see if the Scalable Vector Extension (SVE) is
implemented when entering and exiting the Non-secure world.

If SVE is implemented, EL3 will do the following:

- Entry to Non-secure world: SIMD, FP and SVE functionality is enabled.

- Exit from Non-secure world: SIMD, FP and SVE functionality is
  disabled. As SIMD and FP registers are part of the SVE Z-registers
  then any use of SIMD / FP functionality would corrupt the SVE
  registers.

The build option default is 1. The SVE functionality is only supported
on AArch64 and so the build option is set to zero when the target
archiecture is AArch32.

This build option is not compatible with the CTX_INCLUDE_FPREGS - an
assert will be raised on platforms where SVE is implemented and both
ENABLE_SVE_FOR_NS and CTX_INCLUDE_FPREGS are set to 1.

Also note this change prevents secure world use of FP&SIMD registers on
SVE-enabled platforms. Existing Secure-EL1 Payloads will not work on
such platforms unless ENABLE_SVE_FOR_NS is set to 0.

Additionally, on the first entry into the Non-secure world the SVE
functionality is enabled and the SVE Z-register length is set to the
maximum size allowed by the architecture. This includes the use case
where EL2 is implemented but not used.

Change-Id: Ie2d733ddaba0b9bef1d7c9765503155188fe7dae
Signed-off-by: David Cunado <david.cunado@arm.com>
2017-11-30 17:45:09 +00:00
..
diagrams update the interrupt diagrams 2017-08-17 16:55:25 +08:00
plantuml SDEI: Update doc to clarify delegation 2017-11-20 08:15:46 +00:00
plat hikey*: Update docs 2017-09-29 19:56:39 +01:00
spd Remove Markdown documentation 2017-06-29 16:22:45 +01:00
arm-sip-service.rst Convert documentation to reStructuredText 2017-06-29 11:47:09 +01:00
auth-framework.rst Dynamic selection of ECDSA or RSA 2017-09-22 17:42:40 +08:00
change-log.rst Fix to change.log 2017-08-03 18:24:04 +01:00
cpu-specific-build-macros.rst Cortex-A72: Implement workaround for erratum 859971 2017-09-07 14:22:02 +01:00
firmware-design.rst Merge pull request #1145 from etienne-lms/rfc-armv7-2 2017-11-23 23:41:24 +00:00
firmware-update.rst Convert documentation to reStructuredText 2017-06-29 11:47:09 +01:00
interrupt-framework-design.rst Convert documentation to reStructuredText 2017-06-29 11:47:09 +01:00
platform-interrupt-controller-API.rst GIC: Introduce API to get interrupt ID 2017-11-13 07:49:30 +00:00
platform-migration-guide.rst Update documentation to PSCI v1.1 2017-10-13 12:39:47 +01:00
porting-guide.rst BL31: Add SDEI dispatcher 2017-11-13 08:38:51 +00:00
psci-lib-integration-guide.rst Manual fixes to reST documentations 2017-06-29 11:48:05 +01:00
psci-pd-tree.rst Convert documentation to reStructuredText 2017-06-29 11:47:09 +01:00
reset-design.rst Convert documentation to reStructuredText 2017-06-29 11:47:09 +01:00
rt-svc-writers-guide.rst Convert documentation to reStructuredText 2017-06-29 11:47:09 +01:00
sdei.rst SDEI: Update doc to clarify delegation 2017-11-20 08:15:46 +00:00
spm-user-guide.rst SPM: FVP: Introduce port of SPM 2017-11-09 11:34:09 +00:00
trusted-board-boot.rst Convert documentation to reStructuredText 2017-06-29 11:47:09 +01:00
user-guide.rst Enable SVE for Non-secure world 2017-11-30 17:45:09 +00:00
xlat-tables-lib-v2-design.rst xlat: Add support for EL0 and EL1 mappings 2017-10-05 14:32:12 +01:00