aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorMark Dykes <mardyk01@review.trustedfirmware.org>2020-02-10 17:17:10 +0000
committerTrustedFirmware Code Review <review@review.trustedfirmware.org>2020-02-10 17:17:10 +0000
commitc8e0f950c1fcb3e76a6d5ec80c3bb8f99fcd941f (patch)
treea76e23463400f41dcd49e590d7e02758191cc31a /include
parent82ed37ee02199209a65f5c461a759964aee4e849 (diff)
parent68c76088d3b79753a15dc7ef9e296cd6fa9150aa (diff)
downloadplatform_external_arm-trusted-firmware-c8e0f950c1fcb3e76a6d5ec80c3bb8f99fcd941f.tar.gz
platform_external_arm-trusted-firmware-c8e0f950c1fcb3e76a6d5ec80c3bb8f99fcd941f.tar.bz2
platform_external_arm-trusted-firmware-c8e0f950c1fcb3e76a6d5ec80c3bb8f99fcd941f.zip
Merge "Make PAC demangling more generic" into integration
Diffstat (limited to 'include')
-rw-r--r--include/arch/aarch64/arch_helpers.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/include/arch/aarch64/arch_helpers.h b/include/arch/aarch64/arch_helpers.h
index c60f2e8f7..240c1fbda 100644
--- a/include/arch/aarch64/arch_helpers.h
+++ b/include/arch/aarch64/arch_helpers.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013-2019, ARM Limited and Contributors. All rights reserved.
+ * Copyright (c) 2013-2020, ARM Limited and Contributors. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
@@ -69,6 +69,13 @@ static inline void _op(void) \
__asm__ (#_op); \
}
+/* Define function for system instruction with register parameter */
+#define DEFINE_SYSOP_PARAM_FUNC(_op) \
+static inline void _op(uint64_t v) \
+{ \
+ __asm__ (#_op " %0" : : "r" (v)); \
+}
+
/* Define function for system instruction with type specifier */
#define DEFINE_SYSOP_TYPE_FUNC(_op, _type) \
static inline void _op ## _type(void) \
@@ -211,6 +218,11 @@ DEFINE_SYSOP_TYPE_PARAM_FUNC(at, s1e1r)
DEFINE_SYSOP_TYPE_PARAM_FUNC(at, s1e2r)
DEFINE_SYSOP_TYPE_PARAM_FUNC(at, s1e3r)
+/*******************************************************************************
+ * Strip Pointer Authentication Code
+ ******************************************************************************/
+DEFINE_SYSOP_PARAM_FUNC(xpaci)
+
void flush_dcache_range(uintptr_t addr, size_t size);
void clean_dcache_range(uintptr_t addr, size_t size);
void inv_dcache_range(uintptr_t addr, size_t size);