arm-trusted-firmware/make_helpers
Jeenu Viswambharan c877b41487 Introduce locking primitives using CAS instruction
The ARMv8v.1 architecture extension has introduced support for far
atomics, which includes compare-and-swap. Compare and Swap instruction
is only available for AArch64.

Introduce build options to choose the architecture versions to target
ARM Trusted Firmware:

  - ARM_ARCH_MAJOR: selects the major version of target ARM
    Architecture. Default value is 8.

  - ARM_ARCH_MINOR: selects the minor version of target ARM
    Architecture. Default value is 0.

When:

  (ARM_ARCH_MAJOR > 8) || ((ARM_ARCH_MAJOR == 8) && (ARM_ARCH_MINOR >= 1)),

for AArch64, Compare and Swap instruction is used to implement spin
locks. Otherwise, the implementation falls back to using
load-/store-exclusive instructions.

Update user guide, and introduce a section in Firmware Design guide to
summarize support for features introduced in ARMv8 Architecture
Extensions.

Change-Id: I73096a0039502f7aef9ec6ab3ae36680da033f16
Signed-off-by: Jeenu Viswambharan <jeenu.viswambharan@arm.com>
2017-02-14 09:26:11 +00:00
..
tbbr Replace fip_create with fiptool 2016-07-29 10:38:46 +01:00
build_env.mk Fix incorrect copyright notices 2016-12-14 14:31:32 +00:00
build_macros.mk Introduce locking primitives using CAS instruction 2017-02-14 09:26:11 +00:00
cygwin.mk Make:Allow for extension in tool names. 2016-04-01 12:33:09 +01:00
defaults.mk Introduce locking primitives using CAS instruction 2017-02-14 09:26:11 +00:00
msys.mk Make:Allow for extension in tool names. 2016-04-01 12:33:09 +01:00
plat_helpers.mk Make:Remove calls to shell from makefiles. 2016-04-01 12:33:09 +01:00
unix.mk Make:Make shell commands more portable 2016-04-01 12:33:09 +01:00
windows.mk Build: exclude -c flag from TF_CFLAGS 2017-01-05 11:25:13 +09:00