[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v6 27/31] linux-user/aarch64: Signal SEGV_MTESERR for sync tag ch
From: |
Richard Henderson |
Subject: |
[PATCH v6 27/31] linux-user/aarch64: Signal SEGV_MTESERR for sync tag check fault |
Date: |
Tue, 9 Feb 2021 16:02:19 -0800 |
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
linux-user/aarch64/target_signal.h | 2 ++
linux-user/aarch64/cpu_loop.c | 3 +++
2 files changed, 5 insertions(+)
diff --git a/linux-user/aarch64/target_signal.h
b/linux-user/aarch64/target_signal.h
index ddd73169f0..777fb667fe 100644
--- a/linux-user/aarch64/target_signal.h
+++ b/linux-user/aarch64/target_signal.h
@@ -21,5 +21,7 @@ typedef struct target_sigaltstack {
#include "../generic/signal.h"
+#define TARGET_SEGV_MTESERR 9 /* Synchronous ARM MTE exception */
+
#define TARGET_ARCH_HAS_SETUP_FRAME
#endif /* AARCH64_TARGET_SIGNAL_H */
diff --git a/linux-user/aarch64/cpu_loop.c b/linux-user/aarch64/cpu_loop.c
index 4e43906e66..b6a2e65593 100644
--- a/linux-user/aarch64/cpu_loop.c
+++ b/linux-user/aarch64/cpu_loop.c
@@ -134,6 +134,9 @@ void cpu_loop(CPUARMState *env)
case 0x0d ... 0x0f: /* Permission fault, level {1-3} */
info.si_code = TARGET_SEGV_ACCERR;
break;
+ case 0x11: /* Synchronous Tag Check Fault */
+ info.si_code = TARGET_SEGV_MTESERR;
+ break;
default:
g_assert_not_reached();
}
--
2.25.1
- [PATCH v6 09/31] linux-user: Do not use guest_addr_valid for h2g_valid, (continued)
- [PATCH v6 09/31] linux-user: Do not use guest_addr_valid for h2g_valid, Richard Henderson, 2021/02/09
- [PATCH v6 12/31] exec: Use cpu_untagged_addr in g2h; split out g2h_untagged, Richard Henderson, 2021/02/09
- [PATCH v6 10/31] linux-user: Fix guest_addr_valid vs reserved_va, Richard Henderson, 2021/02/09
- [PATCH v6 11/31] exec: Introduce cpu_untagged_addr, Richard Henderson, 2021/02/09
- [PATCH v6 16/31] linux-user: Use cpu_untagged_addr in access_ok; split out *_untagged, Richard Henderson, 2021/02/09
- [PATCH v6 18/31] linux-user: Fix types in uaccess.c, Richard Henderson, 2021/02/09
- [PATCH v6 15/31] exec: Rename guest_{addr,range}_valid to *_untagged, Richard Henderson, 2021/02/09
- [PATCH v6 17/31] linux-user: Move lock_user et al out of line, Richard Henderson, 2021/02/09
- [PATCH v6 20/31] linux-user/aarch64: Implement PR_TAGGED_ADDR_ENABLE, Richard Henderson, 2021/02/09
- [PATCH v6 30/31] target/arm: Enable MTE for user-only, Richard Henderson, 2021/02/09
- [PATCH v6 27/31] linux-user/aarch64: Signal SEGV_MTESERR for sync tag check fault,
Richard Henderson <=
- [PATCH v6 29/31] target/arm: Add allocation tag storage for user mode, Richard Henderson, 2021/02/09
- [PATCH v6 31/31] tests/tcg/aarch64: Add mte smoke tests, Richard Henderson, 2021/02/09
- [PATCH v6 23/31] linux-user/aarch64: Implement PR_MTE_TCF and PR_MTE_TAG, Richard Henderson, 2021/02/09
- [PATCH v6 19/31] linux-user: Handle tags in lock_user/unlock_user, Richard Henderson, 2021/02/09
- [PATCH v6 22/31] target/arm: Use the proper TBI settings for linux-user, Richard Henderson, 2021/02/09
- [PATCH v6 24/31] linux-user/aarch64: Implement PROT_MTE, Richard Henderson, 2021/02/09
- [PATCH v6 21/31] target/arm: Improve gen_top_byte_ignore, Richard Henderson, 2021/02/09
- [PATCH v6 26/31] linux-user/aarch64: Pass syndrome to EXC_*_ABORT, Richard Henderson, 2021/02/09
- [PATCH v6 28/31] linux-user/aarch64: Signal SEGV_MTEAERR for async tag check error, Richard Henderson, 2021/02/09