diff options
author | Alexei Fedorov <Alexei.Fedorov@arm.com> | 2020-06-19 14:33:49 +0100 |
---|---|---|
committer | Alexei Fedorov <Alexei.Fedorov@arm.com> | 2020-06-19 14:33:49 +0100 |
commit | 3768fecf8f70443a8d3a8b6e3b3a7aedfad84f57 (patch) | |
tree | 6ce345ebee14eaabb26ddbe589e280e38d926efc | |
parent | 9935047b2086faa3bf3ccf0b95a76510eb5a160b (diff) | |
download | platform_external_arm-trusted-firmware-3768fecf8f70443a8d3a8b6e3b3a7aedfad84f57.tar.gz platform_external_arm-trusted-firmware-3768fecf8f70443a8d3a8b6e3b3a7aedfad84f57.tar.bz2 platform_external_arm-trusted-firmware-3768fecf8f70443a8d3a8b6e3b3a7aedfad84f57.zip |
TF-A: Add ARMv8.5 'bti' build option
This patch adds BRANCH_PROTECTION = 4 'bti' build option
which turns on branch target identification mechanism.
Change-Id: I32464a6b51726a100519f449a95aea5331f0e82d
Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
-rw-r--r-- | Makefile | 4 | ||||
-rw-r--r-- | docs/getting_started/build-options.rst | 3 |
2 files changed, 7 insertions, 0 deletions
@@ -121,6 +121,10 @@ else ifeq (${BRANCH_PROTECTION},3) # Extend the signing to include leaf functions BP_OPTION := pac-ret+leaf ENABLE_PAUTH := 1 +else ifeq (${BRANCH_PROTECTION},4) + # Turn on branch target identification mechanism + BP_OPTION := bti + ENABLE_BTI := 1 else $(error Unknown BRANCH_PROTECTION value ${BRANCH_PROTECTION}) endif diff --git a/docs/getting_started/build-options.rst b/docs/getting_started/build-options.rst index f207886fb..81903e140 100644 --- a/docs/getting_started/build-options.rst +++ b/docs/getting_started/build-options.rst @@ -88,6 +88,7 @@ Common build options - 1: Enables all types of branch protection features - 2: Return address signing to its standard level - 3: Extend the signing to include leaf functions +- 4: Turn on branch target identification mechanism The table below summarizes ``BRANCH_PROTECTION`` values, GCC compilation options and resulting PAuth/BTI features. @@ -103,6 +104,8 @@ Common build options +-------+--------------+-------+-----+ | 3 | pac-ret+leaf | Y | N | +-------+--------------+-------+-----+ + | 4 | bti | N | Y | + +-------+--------------+-------+-----+ This option defaults to 0 and this is an experimental feature. Note that Pointer Authentication is enabled for Non-secure world |