summaryrefslogtreecommitdiffstats
path: root/target-arm/cpu64.c
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2013-12-17 19:42:31 +0000
committerPeter Maydell <peter.maydell@linaro.org>2013-12-17 19:42:31 +0000
commit40f860cd6c1aa0d3399e3f8158f20bdc5b2bfbfe (patch)
tree3a1f548e37e35bb9a329fdc37452b39fe932027b /target-arm/cpu64.c
parent013424d436b83f7ba8366b1d40bf82c4f6716f5e (diff)
downloadhqemu-40f860cd6c1aa0d3399e3f8158f20bdc5b2bfbfe.zip
hqemu-40f860cd6c1aa0d3399e3f8158f20bdc5b2bfbfe.tar.gz
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>
Diffstat (limited to 'target-arm/cpu64.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud