qemu/target/arm
Richard Henderson d63d0ec59d target/arm: Raise only one interrupt in arm_cpu_exec_interrupt
The fall through organization of this function meant that we
would raise an interrupt, then might overwrite that with another.
Since interrupt prioritization is IMPLEMENTATION DEFINED, we
can recognize these in any order we choose.

Unify the code to raise the interrupt in a block at the end.

Tested-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20200206105448.4726-42-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2020-02-07 14:04:27 +00:00
..
Makefile.objs target/arm: Add skeleton for T16 decodetree 2019-09-05 13:23:03 +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/arch_dump: Add SVE notes 2020-01-23 15:34:04 +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: Reorganize ARMMMUIdx 2020-02-07 14:04:24 +00:00
cpu-qom.h target/arm: Add the hypervisor virtual counter 2020-02-07 14:04:25 +00:00
cpu.c target/arm: Raise only one interrupt in arm_cpu_exec_interrupt 2020-02-07 14:04:27 +00:00
cpu.h target/arm: Move arm_excp_unmasked to cpu.c 2020-02-07 14:04:27 +00:00
cpu64.c target/arm: Enable ARMv8.1-VHE in -cpu max 2020-02-07 14:04:27 +00: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: Add CONTEXTIDR_EL2 2020-02-07 14:04:21 +00:00
gdbstub.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
gdbstub64.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
helper-a64.c target/arm: Update arm_sctlr for VHE 2020-02-07 14:04:24 +00:00
helper-a64.h target/arm: Split helper_msr_i_pstate into 3 2019-03-05 15:55:08 +00:00
helper-sve.h target/arm: Rewrite vector gather first-fault loads 2018-10-08 14:55:03 +01:00
helper.c target/arm: Update arm_cpu_do_interrupt_aarch64 for VHE 2020-02-07 14:04:27 +00:00
helper.h target/arm: ensure we use current exception state after SCR update 2019-12-16 10:52:58 +00:00
idau.h qom: make interface types abstract 2018-12-11 15:45:22 -02:00
internals.h target/arm: Add regime_has_2_ranges 2020-02-07 14:04:24 +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/cpu: Add the kvm-no-adjvtime CPU property 2020-01-30 16:02:06 +00:00
kvm32.c target/arm/kvm: Implement virtual time adjustment 2020-01-30 16:02:06 +00:00
kvm64.c target/arm/kvm: Implement virtual time adjustment 2020-01-30 16:02:06 +00:00
kvm_arm.h target/arm/cpu: Add the kvm-no-adjvtime CPU property 2020-01-30 16:02:06 +00:00
m_helper.c target/arm: only update pc after semihosting completes 2020-01-09 11:41:29 +00:00
machine.c target/arm/kvm: Implement virtual time adjustment 2020-01-30 16:02:06 +00:00
monitor.c target/arm/monitor: query-cpu-model-expansion crashed qemu when using machine type none 2020-02-07 14:04:21 +00:00
neon_helper.c target/arm: Use tcg_gen_abs_i64 and tcg_gen_gvec_abs 2019-05-13 22:52:08 +00:00
op_addsub.h
op_helper.c target/arm: adjust program counter for wfi exception in AArch32 2020-01-17 14:27:16 +00:00
pauth_helper.c target/arm: check TGE and E2H flags for EL0 pauth traps 2020-02-07 14:04:26 +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: Update get_a64_user_mem_index for VHE 2020-02-07 14:04:26 +00: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: Handle trapping to EL2 of AArch32 VMRS instructions 2019-12-16 10:46:34 +00:00
translate.c target/arm: Reorganize ARMMMUIdx 2020-02-07 14:04:24 +00:00
translate.h target/arm: Update get_a64_user_mem_index for VHE 2020-02-07 14:04:26 +00:00
vec_helper.c target/arm: Add helpers for FMLAL 2019-02-28 11:03:05 +00:00
vfp-uncond.decode target/arm: Convert VCVTA/VCVTN/VCVTP/VCVTM to decodetree 2019-06-13 15:14:04 +01:00
vfp.decode target/arm: Use vfp_expand_imm() for AArch32 VFP VMOV_imm 2019-06-17 15:14:19 +01:00
vfp_helper.c target/arm: Handle trapping to EL2 of AArch32 VMRS instructions 2019-12-16 10:46:34 +00:00