qemu-patch-raspberry4/target-arm
Peter Maydell 40f860cd6c target-arm: Split A64 from A32/T32 gen_intermediate_code_internal()
The A32/T32 gen_intermediate_code_internal() is complicated because it
has to deal with:
 * conditionally executed instructions
 * Thumb IT blocks
 * kernel helper page
 * M profile exception-exit special casing

None of these apply to A64, so putting the "this is A64 so
call the A64 decoder" check in the middle of the A32/T32
loop is confusing and means the A64 decoder's handling of
things like conditional jump and singlestepping has to take
account of the conditional-execution jumps the main loop
might emit.

Refactor the code to give A64 its own gen_intermediate_code_internal
function instead.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <rth@twiddle.net>
2013-12-17 19:42:31 +00:00
..
arm-semi.c exec: Change cpu_memory_rw_debug() argument to CPUState 2013-07-23 02:41:33 +02:00
cpu-qom.h ARM: cpu: add "reset_hivecs" property 2013-12-17 19:42:29 +00:00
cpu.c target-arm: Clean up handling of AArch64 PSTATE 2013-12-17 19:42:30 +00:00
cpu.h target-arm: Clean up handling of AArch64 PSTATE 2013-12-17 19:42:30 +00:00
cpu64.c target-arm: Add AArch64 gdbstub support 2013-09-10 19:11:28 +01:00
crypto_helper.c target-arm: add support for v8 AES instructions 2013-12-17 19:42:25 +00:00
gdbstub.c cpu: Introduce CPUClass::gdb_{read,write}_register() 2013-07-27 00:04:17 +02:00
gdbstub64.c target-arm: Clean up handling of AArch64 PSTATE 2013-12-17 19:42:30 +00:00
helper.c target-arm: Define and use ARM_FEATURE_CBAR 2013-12-17 19:42:28 +00:00
helper.h target-arm: add support for v8 AES instructions 2013-12-17 19:42:25 +00:00
iwmmxt_helper.c misc: Use new rotate functions 2013-09-25 21:23:05 +02:00
kvm-consts.h target-arm: Don't hardcode KVM target CPU to be A15 2013-12-10 13:28:49 +00:00
kvm-stub.c target-arm: Initialize cpreg list from KVM when using KVM 2013-06-25 18:16:10 +01:00
kvm.c target-arm: Add minimal KVM AArch64 support 2013-12-17 19:42:30 +00:00
kvm32.c target-arm/kvm: Split 32 bit only code into its own file 2013-12-17 19:42:29 +00:00
kvm64.c target-arm: Add minimal KVM AArch64 support 2013-12-17 19:42:30 +00:00
kvm_arm.h target-arm: Provide '-cpu host' when running KVM 2013-12-10 13:28:49 +00:00
machine.c target-arm: Prepare translation for AArch64 code 2013-09-10 19:11:28 +01:00
Makefile.objs target-arm: Add minimal KVM AArch64 support 2013-12-17 19:42:30 +00:00
neon_helper.c exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00
op_addsub.h Correct spelling of licensed 2011-07-23 11:26:12 -05:00
op_helper.c cpu: Move halted and interrupt_request fields to CPUState 2013-03-12 10:35:55 +01:00
translate-a64.c target-arm: Split A64 from A32/T32 gen_intermediate_code_internal() 2013-12-17 19:42:31 +00:00
translate.c target-arm: Split A64 from A32/T32 gen_intermediate_code_internal() 2013-12-17 19:42:31 +00:00
translate.h target-arm: Split A64 from A32/T32 gen_intermediate_code_internal() 2013-12-17 19:42:31 +00:00