aboutsummaryrefslogtreecommitdiff
path: root/string/include
diff options
context:
space:
mode:
authorSzabolcs Nagy <szabolcs.nagy@arm.com>2020-12-03 11:15:24 +0000
committerSzabolcs Nagy <szabolcs.nagy@arm.com>2021-02-12 12:43:02 +0000
commitf8d6aecefff23e1d5c4f8df128b545db43a49a00 (patch)
tree37e6bf951e257e4a53a880ba12afeaf90986bea2 /string/include
parentb7e368fb86d602bb5578450ec2c078f2a876ea71 (diff)
downloadarm-optimized-routines-f8d6aecefff23e1d5c4f8df128b545db43a49a00.tar.gz
string: add __mtag_tag_region
Add optimized __mtag_tag_region(dst, len) operation to AOR. It tags the given memory region according to the tag of the dst pointer and returns dst. It requires MTE support. The memory remains untagged if tagging is not enabled for it. The dst must be 16 bytes aligned and len must be a multiple of 16.
Diffstat (limited to 'string/include')
-rw-r--r--string/include/stringlib.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/string/include/stringlib.h b/string/include/stringlib.h
index 841a7bb..b3aa118 100644
--- a/string/include/stringlib.h
+++ b/string/include/stringlib.h
@@ -54,6 +54,9 @@ size_t __strlen_aarch64_sve (const char *);
size_t __strnlen_aarch64_sve (const char *, size_t);
int __strncmp_aarch64_sve (const char *, const char *, size_t);
# endif
+# if __ARM_FEATURE_MEMORY_TAGGING
+void *__mtag_tag_region (void *, size_t);
+# endif
#elif __arm__
void *__memcpy_arm (void *__restrict, const void *__restrict, size_t);
void *__memset_arm (void *, int, size_t);