unicorn/qemu/target/arm
Richard Henderson 88193cf7c3
target/arm: Default handling of BTYPE during translation
The branch target exception for guarded pages has high priority,
and only 8 instructions are valid for that case. Perform this
check before doing any other decode.

Clear BTYPE after all insns that neither set BTYPE nor exit via
exception (DISAS_NORETURN).

Not yet handled are insns that exit via DISAS_NORETURN for some
other reason, like direct branches.

Backports commit 51bf0d7aa91a9d4e2563240a42e6cb705cef84aa from qemu
2019-02-05 17:05:31 -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: Always enable pac keys for user-only 2019-02-03 17:55:30 -05:00
cpu.h target/arm: Add BT and BTYPE to tb->flags 2019-02-05 16:59:53 -05:00
cpu64.c arm: Clarify the logic of set_pc() 2019-02-03 17:55:30 -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: Add new_pc argument to helper_exception_return 2019-01-22 15:48:15 -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: Cache the GP bit for a page in MemTxAttrs 2019-02-05 17:02:19 -05:00
helper.h target/arm: Move helper_exception_return to helper-a64.c 2019-01-22 15:44:53 -05:00
internals.h target/arm: Default handling of BTYPE during translation 2019-02-05 17:05:31 -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: Add PAuth helpers 2019-01-22 15:27:15 -05:00
neon_helper.c target/*/cpu.h: remove softfloat.h 2018-03-08 09:58:47 -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: Default handling of BTYPE during translation 2019-02-05 17:05:31 -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 decodetree: Remove insn argument from trans_* expanders 2018-11-11 08:27:01 -05:00
translate.c target/arm: Emit barriers for A32/T32 load-acquire/store-release insns 2019-01-13 19:48:27 -05:00
translate.h target/arm: Default handling of BTYPE during translation 2019-02-05 17:05:31 -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 unicorn_arm: Allow for read/write of UC_ARM_REG_FPSCR 2018-09-03 21:03:55 +01:00
vec_helper.c target/arm/vec_helper: Remove use of void pointer arithmetic 2019-01-30 14:03:26 -05:00