On 12/04/2013 10:51 AM, Peter Maydell wrote: > 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@xxxxxxxxxx> > --- > target-arm/translate-a64.c | 209 ++++++++++++++++++++++++++++++++++++++++++-- > target-arm/translate.c | 62 +++++-------- > target-arm/translate.h | 20 ++++- > 3 files changed, 246 insertions(+), 45 deletions(-) Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> r~ _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/cucslists/listinfo/kvmarm