qemu/target/arm
Peter Maydell d1a6d3b594 target/arm: Don't allow Thumb Neon insns without FEATURE_NEON
We were accidentally permitting decode of Thumb Neon insns even if
the CPU didn't have the FEATURE_NEON bit set, because the feature
check was being done before the call to disas_neon_data_insn() and
disas_neon_ls_insn() in the Arm decoder but was omitted from the
Thumb decoder.  Push the feature bit check down into the called
functions so it is done for both Arm and Thumb encodings.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20200430181003.21682-3-peter.maydell@linaro.org
2020-05-04 12:57:56 +01:00
..
a32-uncond.decode target/arm: Convert Unallocated memory hint 2019-09-05 13:23:03 +01:00
a32.decode target/arm: Convert SVC 2019-09-05 13:23:03 +01:00
arch_dump.c target/arm: Add isar_feature_aa32_vfp_simd 2020-02-28 16:14:57 +00:00
arm-powerctl.c arm/arm-powerctl: rebuild hflags after setting CP15 bits in arm_set_cpu_on() 2019-12-20 14:03:00 +00:00
arm-powerctl.h target/arm/arm-powerctl: Add new arm_set_cpu_on_and_reset() 2019-02-28 11:03:04 +00:00
arm-semi.c target/arm/arm-semi: Don't let the guest close stdin/stdout/stderr 2020-01-30 16:02:01 +00:00
arm_ldst.h target/arm: fetch code with translator_ld 2019-10-28 15:12:38 +00:00
cpu-param.h target/arm: Don't use a TLB for ARMMMUIdx_Stage2 2020-05-04 10:32:46 +01:00
cpu-qom.h target/arm: Make cpu_register() available for other files 2020-04-30 15:35:41 +01:00
cpu.c target/arm: Use uint64_t for midr field in CPU state struct 2020-05-04 10:32:46 +01:00
cpu.h target/arm: Use uint64_t for midr field in CPU state struct 2020-05-04 10:32:46 +01:00
cpu64.c target/arm: Use correct variable for setting 'max' cpu's ID_AA64DFR0 2020-05-04 10:32:46 +01:00
crypto_helper.c target: Do not include "exec/exec-all.h" if it is not necessary 2018-06-01 14:15:10 +02:00
debug_helper.c target/arm: Stop assuming DBGDIDR always exists 2020-02-21 16:07:01 +00:00
gdbstub.c gdbstub: Do not use memset() on GByteArray 2020-04-15 11:38:23 +01:00
gdbstub64.c gdbstub: extend GByteArray to read register helpers 2020-03-17 17:38:38 +00:00
helper-a64.c target/arm: Move helper_dc_zva to helper-a64.c 2020-03-05 16:09:20 +00:00
helper-a64.h target/arm: Use DEF_HELPER_FLAGS for helper_dc_zva 2020-03-05 16:09:21 +00:00
helper-sve.h target/arm: Convert PMULL.8 to gvec 2020-02-21 16:07:02 +00:00
helper.c target/arm: Implement ARMv8.2-TTS2UXN 2020-05-04 10:32:46 +01:00
helper.h target/arm: Vectorize integer comparison vs zero 2020-04-30 15:35:41 +01:00
idau.h qom: make interface types abstract 2018-12-11 15:45:22 -02:00
internals.h target/arm: Introduce core_to_aa64_mmu_idx 2020-03-05 16:09:20 +00:00
iwmmxt_helper.c target/arm: Untabify iwmmxt_helper.c 2018-08-24 13:17:48 +01:00
kvm-consts.h arm: add trailing ; after MISMATCH_CHECK 2017-02-01 03:37:18 +02:00
kvm-stub.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
kvm.c target/arm/kvm: Let kvm_arm_vgic_probe() return a bitmap 2020-03-12 16:27:33 +00:00
kvm32.c target/arm: kvm: Inject events at the last stage of sync 2020-03-12 16:31:10 +00:00
kvm64.c target/arm: kvm: Inject events at the last stage of sync 2020-03-12 16:31:10 +00:00
kvm_arm.h target/arm/kvm: Let kvm_arm_vgic_probe() return a bitmap 2020-03-12 16:27:33 +00:00
m_helper.c target/arm: Add isar_feature_aa32_vfp_simd 2020-02-28 16:14:57 +00:00
machine.c target/arm: Add isar_feature_aa64_fp_simd, isar_feature_aa32_vfp 2020-02-28 16:14:57 +00:00
Makefile.objs target/arm: Add skeleton for T16 decodetree 2019-09-05 13:23:03 +01:00
monitor.c Use &error_abort instead of separate assert() 2020-03-17 16:05:40 +01:00
neon_helper.c target/arm: Vectorize integer comparison vs zero 2020-04-30 15:35:41 +01:00
op_addsub.h
op_helper.c target/arm: Move helper_dc_zva to helper-a64.c 2020-03-05 16:09:20 +00:00
pauth_helper.c target/arm: Use bit 55 explicitly for pauth 2020-02-21 16:07:00 +00:00
psci.c sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
sve.decode target/arm: SVE brk[ab] merging does not have s bit 2019-01-07 15:23:45 +00:00
sve_helper.c tcg: Search includes from the project root source directory 2020-01-15 15:13:10 -10:00
t16.decode target/arm: Convert T16, long branches 2019-09-05 13:23:04 +01:00
t32.decode target/arm: Convert TT 2019-09-05 13:23:03 +01:00
tlb_helper.c target/arm: Return correct IL bit in merge_syn_data_abort 2020-01-17 14:27:16 +00:00
trace-events trace-events: Shorten file names in comments 2019-03-22 16:18:07 +00:00
translate-a64.c target/arm: Vectorize integer comparison vs zero 2020-04-30 15:35:41 +01:00
translate-a64.h Allow page table bit to swap endianness. 2019-09-04 16:29:18 +01:00
translate-sve.c tcg: Search includes from the project root source directory 2020-01-15 15:13:10 -10:00
translate-vfp.inc.c target/arm/translate-vfp.inc.c: Remove duplicate simd_r32 check 2020-05-04 12:57:56 +01:00
translate.c target/arm: Don't allow Thumb Neon insns without FEATURE_NEON 2020-05-04 12:57:56 +01:00
translate.h target/arm: Vectorize integer comparison vs zero 2020-04-30 15:35:41 +01:00
vec_helper.c target/arm: Vectorize integer comparison vs zero 2020-04-30 15:35:41 +01:00
vfp-uncond.decode target/arm: Split VMINMAXNM decode 2020-02-28 16:14:57 +00:00
vfp.decode target/arm: Split VFM decode 2020-02-28 16:14:57 +00:00
vfp_helper.c target/arm: Add isar_feature_any_fp16 and document naming/usage conventions 2020-02-21 16:07:00 +00:00