diff options
author | Richard Henderson | 2022-07-08 17:14:57 +0200 |
---|---|---|
committer | Peter Maydell | 2022-07-11 14:19:35 +0200 |
commit | e67cd1cac26181873496e5fb2464dbeb038e0fcd (patch) | |
tree | d82707500e9b4bc94a743c9f42106f77535462cf /target/arm/translate-a64.c | |
parent | target/arm: Handle SME in aarch64_cpu_dump_state (diff) | |
download | qemu-e67cd1cac26181873496e5fb2464dbeb038e0fcd.tar.gz qemu-e67cd1cac26181873496e5fb2464dbeb038e0fcd.tar.xz qemu-e67cd1cac26181873496e5fb2464dbeb038e0fcd.zip |
target/arm: Add infrastructure for disas_sme
This includes the build rules for the decoder, and the
new file for translation, but excludes any instructions.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220708151540.18136-3-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'target/arm/translate-a64.c')
-rw-r--r-- | target/arm/translate-a64.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index c86b97b1d4..a5f8a6c771 100644 --- a/target/arm/translate-a64.c +++ b/target/arm/translate-a64.c @@ -14806,7 +14806,12 @@ static void aarch64_tr_translate_insn(DisasContextBase *dcbase, CPUState *cpu) } switch (extract32(insn, 25, 4)) { - case 0x0: case 0x1: case 0x3: /* UNALLOCATED */ + case 0x0: + if (!extract32(insn, 31, 1) || !disas_sme(s, insn)) { + unallocated_encoding(s); + } + break; + case 0x1: case 0x3: /* UNALLOCATED */ unallocated_encoding(s); break; case 0x2: |