aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2024-05-10 17:25:50 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2024-05-10 17:25:50 +0000
commit94d06ed6e9a70f3285e943eacc2f8b5259bd69eb (patch)
treea76999769c9d8dce9d215263fa29bd6d60a751a6
parent58b2301a43afd477ac5807899098c9145a64f324 (diff)
parent72725604de9abbdcb2a9b43851856ad420fc2e3d (diff)
downloadstrace-busytown-mac-infra-release.tar.gz
Merge "Snap for 11819167 from 571b4e7faaef2a83c4d54a9c2e63a619345a3a8a to busytown-mac-infra-release" into busytown-mac-infra-releasebusytown-mac-infra-release
-rw-r--r--Android.bp1
-rw-r--r--linux/riscv/syscallent.h2
-rw-r--r--riscv.c17
-rw-r--r--sen.h1
-rw-r--r--sys_func.h1
-rw-r--r--xlat/mmap_prot.h6
6 files changed, 28 insertions, 0 deletions
diff --git a/Android.bp b/Android.bp
index 08c7c539..2bcca569 100644
--- a/Android.bp
+++ b/Android.bp
@@ -253,6 +253,7 @@ cc_binary {
"-Werror",
"-Wno-initializer-overrides",
"-Wno-missing-field-initializers",
+ "-Wno-nonnull",
"-Wno-pointer-arith",
"-Wno-unused-parameter",
"-Wno-sign-compare",
diff --git a/linux/riscv/syscallent.h b/linux/riscv/syscallent.h
index 3dfed89e..0b5960a9 100644
--- a/linux/riscv/syscallent.h
+++ b/linux/riscv/syscallent.h
@@ -1,4 +1,6 @@
#include "64/syscallent.h"
+/* #define __NR_riscv_hwprobe (__NR_arch_specific_syscall + 14) */
+[258] = { 5, 0, SEN(riscv_hwprobe), "riscv_hwprobe" },
/* #define __NR_riscv_flush_icache (__NR_arch_specific_syscall + 15) */
[259] = { 3, TM, SEN(riscv_flush_icache), "riscv_flush_icache" },
diff --git a/riscv.c b/riscv.c
index aaa39325..7b9ae889 100644
--- a/riscv.c
+++ b/riscv.c
@@ -50,4 +50,21 @@ SYS_FUNC(riscv_flush_icache)
return RVAL_DECODED;
}
+SYS_FUNC(riscv_hwprobe)
+{
+ /* uintptr_t probes */
+ printaddr(tcp->u_arg[0]);
+
+ /* size_t probe_count, size_t cpu_count */
+ tprintf(", %lu, %lu, ", tcp->u_arg[1], tcp->u_arg[2]);
+
+ /* uintptr_t pcus */
+ printaddr(tcp->u_arg[3]);
+
+ /* unsigned flags */
+ tprintf(", %#lx", tcp->u_arg[4]);
+
+ return RVAL_DECODED;
+}
+
#endif /* RISCV */
diff --git a/sen.h b/sen.h
index fb29d69d..c5febcc8 100644
--- a/sen.h
+++ b/sen.h
@@ -273,6 +273,7 @@ SEN_renameat2,
SEN_request_key,
SEN_restart_syscall,
SEN_riscv_flush_icache,
+SEN_riscv_hwprobe,
SEN_rmdir,
SEN_rseq,
SEN_rt_sigaction,
diff --git a/sys_func.h b/sys_func.h
index 22cb3788..cdb63180 100644
--- a/sys_func.h
+++ b/sys_func.h
@@ -208,6 +208,7 @@ extern SYS_FUNC(renameat2);
extern SYS_FUNC(request_key);
extern SYS_FUNC(restart_syscall);
extern SYS_FUNC(riscv_flush_icache);
+extern SYS_FUNC(riscv_hwprobe);
extern SYS_FUNC(rt_sigaction);
extern SYS_FUNC(rt_sigpending);
extern SYS_FUNC(rt_sigprocmask);
diff --git a/xlat/mmap_prot.h b/xlat/mmap_prot.h
index 310e7f1e..edca99c2 100644
--- a/xlat/mmap_prot.h
+++ b/xlat/mmap_prot.h
@@ -41,6 +41,12 @@ const struct xlat mmap_prot[] = {
#if defined(PROT_ADI) || (defined(HAVE_DECL_PROT_ADI) && HAVE_DECL_PROT_ADI)
XLAT(PROT_ADI),
#endif
+#if defined(PROT_BTI)
+ XLAT(PROT_BTI),
+#endif
+#if defined(PROT_MTE)
+ XLAT(PROT_MTE),
+#endif
XLAT_END
};