unicorn/qemu/target/arm
Lioncash 15440a83c5
target/arm: Fix execution of ARM instructions
Previously we'd be checking prior to the actual decoding if we were at
the ending address. This worked fine using the old model of the
translation process in qemu. However, this causes the wrong behavior to
occur in both ARM and Thumb/Thumb-2 modes using the newer translator
model.

Given the translator itself checks for the end address already, this
needs to be placed within arm_post_translate_insn().

This prevents the emulation process being off-by-one as well when it
comes to actually executing the instructions.
2019-02-28 18:49:22 -05:00
..
arm-powerctl.c arm: Clarify the logic of set_pc() 2019-02-03 17:55:30 -05:00
arm-powerctl.h ARM: Factor out ARM on/off PSCI control functions 2018-03-01 23:31:47 -05:00
arm_ldst.h Fix Thumb-1 BE32 execution and disassembly. 2018-03-02 00:20:11 -05:00
cpu-qom.h target/arm: Add "-cpu max" support 2018-03-12 10:11:49 -04:00
cpu.c target/arm: Enable ARMv8.2-FHM for -cpu max 2019-02-28 15:47:03 -05:00
cpu.h target/arm: Implement VFMAL and VFMSL for aarch32 2019-02-28 15:44:59 -05:00
cpu64.c target/arm: Enable ARMv8.2-FHM for -cpu max 2019-02-28 15:47:03 -05:00
crypto_helper.c target/arm/cpu and crypto_helper: Correct bad merge and adjust to qemu code style 2018-03-12 11:57:24 -04:00
helper-a64.c target/arm: Fix int128_make128 lo, hi order in paired_cmpxchg64_be 2019-02-15 17:16:55 -05:00
helper-a64.h target/arm: Add new_pc argument to helper_exception_return 2019-01-22 15:48:15 -05:00
helper-sve.h target/arm: Rewrite vector gather first-fault loads 2018-10-08 14:15:15 -04:00
helper.c target/arm: Split out vfp_helper.c 2019-02-22 18:48:44 -05:00
helper.h target/arm: Add helpers for FMLAL 2019-02-28 15:31:48 -05:00
internals.h target/arm: Compute TB_FLAGS for TBI for user-only 2019-02-05 17:43:11 -05:00
iwmmxt_helper.c target/arm: Untabify iwmmxt_helper.c 2018-08-25 04:33:44 -04:00
kvm-consts.h arm: better stub version for MISMATCH_CHECK 2018-03-02 00:13:45 -05:00
Makefile.objs target/arm: Split out vfp_helper.c 2019-02-22 18:48:44 -05:00
neon_helper.c target/arm: Split out FPSCR.QC to a vector field 2019-02-15 18:04:13 -05:00
op_addsub.h Move target-* CPU file into a target/ folder 2018-03-01 22:50:58 -05:00
op_helper.c target/arm: Move helper_exception_return to helper-a64.c 2019-01-22 15:44:53 -05:00
pauth_helper.c target/arm: Implement pauth_computepac 2019-01-22 16:35:07 -05:00
psci.c fix WFI/WFE length in syndrome register 2018-03-05 11:21:51 -05:00
sve.decode target/arm: SVE brk[ab] merging does not have s bit 2019-01-13 19:39:34 -05:00
sve_helper.c sve_helper: Use the QEMU_FLATTEN macro instead of the compiler attribute directly 2018-10-23 13:05:02 -04:00
translate-a64.c target/arm: Implement FMLAL and FMLSL for aarch64 2019-02-28 15:36:41 -05:00
translate-a64.h arm: Take DisasContext as a parameter instead of TCGContext where applicable 2018-10-06 04:17:12 -04:00
translate-sve.c target/arm: Rely on optimization within tcg_gen_gvec_or 2019-02-15 17:50:28 -05:00
translate.c target/arm: Fix execution of ARM instructions 2019-02-28 18:49:22 -05:00
translate.h target/arm: Use vector operations for saturation 2019-02-15 18:14:09 -05:00
unicorn.h Move target-* CPU file into a target/ folder 2018-03-01 22:50:58 -05:00
unicorn_aarch64.c unicorn_aarch64: Use aa64_vfp_qreg instead of aa32_vfp_dreg 2018-09-03 07:47:40 +01:00
unicorn_arm.c Add support for the ARM IPSR register. (#1067) 2019-02-28 16:40:54 -05:00
vec_helper.c target/arm: Add helpers for FMLAL 2019-02-28 15:31:48 -05:00
vfp_helper.c target/arm: Implement ARMv8.3-JSConv 2019-02-22 19:08:57 -05:00