aboutsummaryrefslogtreecommitdiff
path: root/target/arm/translate.h
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2022-07-08 20:44:59 +0530
committerPeter Maydell <peter.maydell@linaro.org>2022-07-11 13:19:35 +0100
commit7160c8c55acfa1f1acfb376c4d03f3580e192e6b (patch)
tree57e533b2a616f8117f65c8e4fe9bdcb35422af9c /target/arm/translate.h
parent75fe83564a2e41ac4bfcee72b1d9a590ddd46ebe (diff)
downloadqemu-7160c8c55acfa1f1acfb376c4d03f3580e192e6b.zip
qemu-7160c8c55acfa1f1acfb376c4d03f3580e192e6b.tar.gz
qemu-7160c8c55acfa1f1acfb376c4d03f3580e192e6b.tar.bz2
target/arm: Mark ADR as non-streaming
Mark ADR as a non-streaming instruction, which should trap if full a64 support is not enabled in streaming mode. Removing entries from sme-fa64.decode is an easy way to see what remains to be done. Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20220708151540.18136-5-richard.henderson@linaro.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'target/arm/translate.h')
-rw-r--r--target/arm/translate.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/target/arm/translate.h b/target/arm/translate.h
index cbc907c..e2e619d 100644
--- a/target/arm/translate.h
+++ b/target/arm/translate.h
@@ -566,4 +566,11 @@ uint64_t asimd_imm_const(uint32_t imm, int cmode, int op);
static bool trans_##NAME(DisasContext *s, arg_##NAME *a) \
{ return dc_isar_feature(FEAT, s) && FUNC(s, __VA_ARGS__); }
+#define TRANS_FEAT_NONSTREAMING(NAME, FEAT, FUNC, ...) \
+ static bool trans_##NAME(DisasContext *s, arg_##NAME *a) \
+ { \
+ s->is_nonstreaming = true; \
+ return dc_isar_feature(FEAT, s) && FUNC(s, __VA_ARGS__); \
+ }
+
#endif /* TARGET_ARM_TRANSLATE_H */