diff options
author | Etienne Carriere <etienne.carriere@linaro.org> | 2017-11-08 13:48:40 +0100 |
---|---|---|
committer | Etienne Carriere <etienne.carriere@linaro.org> | 2017-11-08 13:48:40 +0100 |
commit | 26e63c4450b1e4dcef3f9256663f36253e6b62d2 (patch) | |
tree | 04db13d5c69d3566680f8bc005078470473273be /docs | |
parent | 2904f84e3c8bdd9f3df0415b5a02ab6bcc0ab05b (diff) | |
download | platform_external_arm-trusted-firmware-26e63c4450b1e4dcef3f9256663f36253e6b62d2.tar.gz platform_external_arm-trusted-firmware-26e63c4450b1e4dcef3f9256663f36253e6b62d2.tar.bz2 platform_external_arm-trusted-firmware-26e63c4450b1e4dcef3f9256663f36253e6b62d2.zip |
ARMv7 target is driven by ARM_ARCH_MAJOR==7
External build environment shall sets directive ARM_ARCH_MAJOR to 7
to specify a target ARMv7-A core.
As ARM-TF expects AARCH to be set, ARM_ARCH_MAJOR==7 mandates
AARCH=aarch32.
The toolchain target architecture/cpu is delegated after the platform
configuration is parsed. Platform shall define target core through
ARM_CORTEX_A<x>=yes, <x> being 5, 7, 9, 12, 15 and/or 17.
Platform can bypass ARM_CORTEX_A<x>=yes directive and provide straight
the toolchain target directive through MARCH32_DIRECTIVE.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Diffstat (limited to 'docs')
-rw-r--r-- | docs/firmware-design.rst | 29 | ||||
-rw-r--r-- | docs/user-guide.rst | 3 |
2 files changed, 31 insertions, 1 deletions
diff --git a/docs/firmware-design.rst b/docs/firmware-design.rst index 7cc197096..93c13d250 100644 --- a/docs/firmware-design.rst +++ b/docs/firmware-design.rst @@ -2520,6 +2520,35 @@ This Architecture Extension is targeted when ``ARM_ARCH_MAJOR`` == 8 and table entries for a given stage of translation for a particular translation regime. +ARMv7 +~~~~~ + +This Architecture Extension is targeted when ``ARM_ARCH_MAJOR`` == 7. + +There are several ARMv7 extensions available. Obviously the TrustZone +extension is mandatory to support the ARM Trusted Firmware bootloader +and runtime services. + +Platform implementing an ARMv7 system can to define from its target +Cortex-A architecture through ``ARM_CORTEX_A<X> = yes`` in their +``plaform.mk`` script. For example ``ARM_CORTEX_A15=yes`` for a +Cortex-A15 target. + +Platform can also set ``ARM_WITH_NEON=yes`` to enable neon support. +Note that using neon at runtime has constraints on non secure wolrd context. +The trusted firmware does not yet provide VFP context management. + +Directive ``ARM_CORTEX_A<x>`` and ``ARM_WITH_NEON`` are used to set +the toolchain target architecture directive. + +Platform may choose to not define straight the toolchain target architecture +directive by defining ``MARCH32_DIRECTIVE``. +I.e: + +:: + + MARCH32_DIRECTIVE := -mach=armv7-a + Code Structure -------------- diff --git a/docs/user-guide.rst b/docs/user-guide.rst index 4df75908c..d175ebd11 100644 --- a/docs/user-guide.rst +++ b/docs/user-guide.rst @@ -219,7 +219,8 @@ Common build options - ``ARM_ARCH_MAJOR``: The major version of ARM Architecture to target when compiling ARM Trusted Firmware. Its value must be numeric, and defaults to - 8 . See also, *ARMv8 Architecture Extensions* in `Firmware Design`_. + 8 . See also, *ARMv8 Architecture Extensions* and + *ARMv7 Architecture Extensions* in `Firmware Design`_. - ``ARM_ARCH_MINOR``: The minor version of ARM Architecture to target when compiling ARM Trusted Firmware. Its value must be a numeric, and defaults |