This is v15 of the patch set, reviewed mostly by Emilio and Alex.
I have converions for additional targets, but this is large enough.
r~
The following changes since commit b07d1c2f5607489d4d4a6a65ce36a3e896ac065e:
Revert "kvm: use DIV_ROUND_UP" (2017-09-05 18:55:40 +0100)
are available in the git repository at:
git://github.com/rth7680/qemu.git tags/pull-tgt-20170906
for you to fetch changes up to d0264d86b026e9d948de577b05ff86d708658576:
target/arm: Perform per-insn cross-page check only for Thumb (2017-09-06 08:06:48 -0700)
----------------------------------------------------------------
tcg generic translate loop v15
----------------------------------------------------------------
Lluís Vilanova (24):
target: [tcg] Use a generic enum for DISAS_ values
tcg: Add generic translation framework
target/i386: [tcg] Port to DisasContextBase
target/i386: [tcg] Port to init_disas_context
target/i386: [tcg] Port to insn_start
target/i386: [tcg] Port to breakpoint_check
target/i386: [tcg] Port to translate_insn
target/i386: [tcg] Port to tb_stop
target/i386: [tcg] Port to disas_log
target/i386: [tcg] Port to generic translation framework
target/arm: [tcg] Port to DisasContextBase
target/arm: [tcg] Port to init_disas_context
target/arm: [tcg,a64] Port to init_disas_context
target/arm: [tcg] Port to tb_start
target/arm: [tcg] Port to insn_start
target/arm: [tcg,a64] Port to insn_start
target/arm: [tcg,a64] Port to breakpoint_check
target/arm: [tcg] Port to translate_insn
target/arm: [tcg,a64] Port to translate_insn
target/arm: [tcg] Port to tb_stop
target/arm: [tcg,a64] Port to tb_stop
target/arm: [tcg] Port to disas_log
target/arm: [tcg,a64] Port to disas_log
target/arm: [tcg] Port to generic translation framework
Richard Henderson (8):
tcg: Add generic DISAS_NORETURN
target/i386: Use generic DISAS_* enumerators
target/arm: Use DISAS_NORETURN
target/arm: Delay check for magic kernel page
target/arm: [a64] Move page and ss checks to init_disas_context
target/arm: Move ss check to init_disas_context
target/arm: Split out thumb_tr_translate_insn
target/arm: Perform per-insn cross-page check only for Thumb
include/exec/exec-all.h | 29 ---
include/exec/translator.h | 144 +++++++++++++
target/arm/translate.h | 39 ++--
accel/tcg/translator.c | 138 ++++++++++++
target/arm/translate-a64.c | 300 +++++++++++++-------------
target/arm/translate.c | 478 +++++++++++++++++++++++-------------------
target/cris/translate.c | 7 +-
target/i386/translate.c | 298 +++++++++++++-------------
target/lm32/translate.c | 6 +
target/m68k/translate.c | 7 +-
target/microblaze/translate.c | 6 +
target/nios2/translate.c | 6 +
target/openrisc/translate.c | 6 +
target/s390x/translate.c | 3 +-
target/unicore32/translate.c | 7 +-
target/xtensa/translate.c | 4 +
accel/tcg/Makefile.objs | 1 +
17 files changed, 909 insertions(+), 570 deletions(-)
create mode 100644 include/exec/translator.h
create mode 100644 accel/tcg/translator.c