Add support for pointer authentication
authorAntonio Nino Diaz <antonio.ninodiaz@arm.com>
Tue, 19 Feb 2019 11:53:51 +0000 (11:53 +0000)
committerAntonio Nino Diaz <antonio.ninodiaz@arm.com>
Wed, 27 Feb 2019 11:58:09 +0000 (11:58 +0000)
commitb86048c40cb7d9ccd7aeac1681945676a6dc36ff
tree3a501b3395633ab07d312068c1dacd591493c7ac
parent5283962ebaf77850d68bb457608ede5174e43159
Add support for pointer authentication

The previous commit added the infrastructure to load and save
ARMv8.3-PAuth registers during Non-secure <-> Secure world switches, but
didn't actually enable pointer authentication in the firmware.

This patch adds the functionality needed for platforms to provide
authentication keys for the firmware, and a new option (ENABLE_PAUTH) to
enable pointer authentication in the firmware itself. This option is
disabled by default, and it requires CTX_INCLUDE_PAUTH_REGS to be
enabled.

Change-Id: I35127ec271e1198d43209044de39fa712ef202a5
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
13 files changed:
Makefile
bl31/aarch64/ea_delegate.S
bl31/aarch64/runtime_exceptions.S
common/bl_common.c
docs/firmware-design.rst
docs/porting-guide.rst
docs/user-guide.rst
include/arch/aarch64/arch_features.h
include/arch/aarch64/arch_helpers.h
include/common/bl_common.h
include/plat/common/platform.h
lib/el3_runtime/aarch64/context.S
make_helpers/defaults.mk