This is still RFC. All except 9 seem to be OK, but 9 needs review. M68k patch (5) is untested.
Patch 9 seems to be OK for x86_64 and Sparc64, but i386 crashes for some reason I can't see. Other architectures are untested, especially ia64 could be wrong. Blue Swirl (9): cpu_loop_exit: avoid using AREG0 sparc: fix coding style of the area to be moved sparc: move do_interrupt to helper.c x86: use caller supplied CPUState for interrupt related stuff m68k: use caller supplied CPUState for interrupt related stuff cpu-exec: unify do_interrupt call exec.h: fix coding style of the area to be moved Move cpu_has_work and cpu_pc_from_tb to cpu.h cpu-exec.c: avoid AREG0 use Makefile.target | 2 +- cpu-exec.c | 147 ++++++------------------ exec-all.h | 3 +- hw/alpha_palcode.c | 2 +- target-alpha/cpu.h | 12 ++ target-alpha/exec.h | 10 -- target-alpha/op_helper.c | 4 +- target-arm/cpu.h | 13 ++ target-arm/exec.h | 12 -- target-arm/op_helper.c | 6 +- target-cris/cpu.h | 11 ++ target-cris/exec.h | 11 -- target-cris/op_helper.c | 4 +- target-i386/cpu.h | 57 +++++++++ target-i386/exec.h | 56 --------- target-i386/op_helper.c | 105 ++++++++++++++--- target-lm32/cpu.h | 13 ++ target-lm32/exec.h | 11 -- target-lm32/op_helper.c | 6 +- target-m68k/cpu.h | 15 +++- target-m68k/exec.h | 11 -- target-m68k/op_helper.c | 35 +++++- target-microblaze/cpu.h | 13 ++ target-microblaze/exec.h | 11 -- target-microblaze/op_helper.c | 4 +- target-mips/cpu.h | 24 ++++ target-mips/exec.h | 22 ---- target-mips/op_helper.c | 4 +- target-ppc/cpu.h | 12 ++ target-ppc/exec.h | 11 -- target-ppc/op_helper.c | 2 +- target-sh4/cpu.h | 13 ++ target-sh4/exec.h | 11 -- target-sh4/op_helper.c | 10 +- target-sparc/cpu.h | 18 +++ target-sparc/exec.h | 16 --- target-sparc/helper.c | 242 +++++++++++++++++++++++++++++++++++++++ target-sparc/op_helper.c | 253 ++-------------------------------------- target-unicore32/cpu.h | 6 + target-unicore32/exec.h | 6 - target-unicore32/op_helper.c | 2 +- tcg/arm/tcg-target.c | 4 +- tcg/hppa/tcg-target.c | 4 +- tcg/i386/tcg-target.c | 4 +- tcg/ia64/tcg-target.c | 5 +- tcg/mips/tcg-target.c | 4 +- tcg/ppc/tcg-target.c | 3 +- tcg/ppc64/tcg-target.c | 3 +- tcg/s390/tcg-target.c | 5 +- tcg/sparc/tcg-target.c | 4 +- tcg/tcg.h | 7 +- user-exec.c | 11 +- xen-mapcache-stub.c | 1 + 53 files changed, 676 insertions(+), 605 deletions(-)