unicorn/qemu/target/arm
Peter Maydell 7a293cd7cc
target-arm: Simplify insn_crosses_page()
Recent changes have left insn_crosses_page() more complicated
than it needed to be:
* it's only called from thumb_tr_translate_insn() so we know
for certain that we're looking at a Thumb insn
* the caller's check for dc->pc >= dc->next_page_start - 3
means that dc->pc can't possibly be 4 aligned, so there's
no need to check that (the check was partly there to ensure
that we didn't treat an ARM insn as Thumb, I think)
* we now have thumb_insn_is_16bit() which lets us do a precise
check of the length of the next insn, rather than opencoding
an inaccurate check

Simplify it down to just loading the first half of the insn
and calling thumb_insn_is_16bit() on it.

Backports commit 5b8d7289e9e92a0d7bcecb93cd189e245fef10cd from qemu
2018-03-05 03:44:54 -05:00
..
arm_ldst.h Fix Thumb-1 BE32 execution and disassembly. 2018-03-02 00:20:11 -05:00
arm-powerctl.c ARM: Factor out ARM on/off PSCI control functions 2018-03-01 23:31:47 -05:00
arm-powerctl.h ARM: Factor out ARM on/off PSCI control functions 2018-03-01 23:31:47 -05:00
cpu64.c target-arm: Enable EL2 feature bit on A53 and A57 2018-03-01 23:36:44 -05:00
cpu-qom.h
cpu.c nvic: Implement Security Attribution Unit registers 2018-03-05 01:55:11 -05:00
cpu.h target/arm: Factor out "get mmuidx for specified security state" 2018-03-05 02:00:23 -05:00
crypto_helper.c
helper-a64.c
helper-a64.h
helper.c target/arm: Implement secure function return 2018-03-05 03:33:42 -05:00
helper.h target/arm: Implement BLXNS 2018-03-05 03:31:59 -05:00
internals.h target/arm: Implement secure function return 2018-03-05 03:33:42 -05:00
iwmmxt_helper.c
kvm-consts.h arm: better stub version for MISMATCH_CHECK 2018-03-02 00:13:45 -05:00
Makefile.objs ARM: Factor out ARM on/off PSCI control functions 2018-03-01 23:31:47 -05:00
neon_helper.c
op_addsub.h
op_helper.c arm: Fix SMC reporting to EL2 when QEMU provides PSCI 2018-03-05 01:19:22 -05:00
psci.c target/arm/psci.c: If EL2 implemented, start CPUs in EL2 2018-03-01 23:34:57 -05:00
translate-a64.c tcg: remove addr argument from lookup_tb_ptr 2018-03-05 02:16:34 -05:00
translate.c target-arm: Simplify insn_crosses_page() 2018-03-05 03:44:54 -05:00
translate.h target/arm: Implement BXNS, and banked stack pointers 2018-03-04 21:21:23 -05:00
unicorn_aarch64.c
unicorn_arm.c
unicorn.h