Hi, I am starting a cleanup series for s390x, with the goal of doing similar splits of KVM vs TCG, sysemu vs user mode, as for the existing work on x86 and ARM.
S/390 target looks very good already, and seems much easier to work with. I hope that with some patches it will be even better. I will pile up more patches later on, but I start sharing something here with these few RFC patches for your eyes, they are based on the pre-requisite series: https://lists.gnu.org/archive/html/qemu-devel/2021-03/msg07461.html Motivation and higher level steps: https://lists.gnu.org/archive/html/qemu-devel/2020-05/msg04628.html Comments welcome, thanks, Claudio Claudio Fontana (5): hw/s390x: only build qemu-tod from the CONFIG_TCG build target/s390x: start moving TCG-only code to tcg/ target/s390x: move sysemu-only code out to cpu-sysemu.c target/s390x: split cpu-dump from helper.c target/s390x: make helper.c sysemu-only include/hw/s390x/tod.h | 2 +- target/s390x/{internal.h => s390x-internal.h} | 6 + target/s390x/{ => tcg}/s390-tod.h | 0 target/s390x/{ => tcg}/tcg_s390x.h | 0 target/s390x/{ => tcg}/vec.h | 0 hw/s390x/tod-qemu.c | 2 +- hw/s390x/tod.c | 9 +- target/s390x/arch_dump.c | 2 +- target/s390x/cpu-dump.c | 131 ++++++++ target/s390x/cpu-sysemu.c | 304 ++++++++++++++++++ target/s390x/cpu.c | 285 +--------------- target/s390x/cpu_models.c | 2 +- target/s390x/diag.c | 2 +- target/s390x/gdbstub.c | 2 +- target/s390x/helper.c | 113 +------ target/s390x/interrupt.c | 4 +- target/s390x/ioinst.c | 2 +- target/s390x/kvm.c | 2 +- target/s390x/machine.c | 4 +- target/s390x/mmu_helper.c | 2 +- target/s390x/sigp.c | 2 +- target/s390x/tcg-stub.c | 30 -- target/s390x/{ => tcg}/cc_helper.c | 2 +- target/s390x/{ => tcg}/crypto_helper.c | 2 +- target/s390x/{ => tcg}/excp_helper.c | 2 +- target/s390x/{ => tcg}/fpu_helper.c | 2 +- target/s390x/{ => tcg}/int_helper.c | 2 +- target/s390x/{ => tcg}/mem_helper.c | 2 +- target/s390x/{ => tcg}/misc_helper.c | 2 +- target/s390x/{ => tcg}/translate.c | 2 +- target/s390x/{ => tcg}/vec_fpu_helper.c | 2 +- target/s390x/{ => tcg}/vec_helper.c | 2 +- target/s390x/{ => tcg}/vec_int_helper.c | 0 target/s390x/{ => tcg}/vec_string_helper.c | 2 +- target/s390x/{ => tcg}/translate_vx.c.inc | 0 hw/s390x/meson.build | 5 +- target/s390x/meson.build | 21 +- target/s390x/{ => tcg}/insn-data.def | 0 target/s390x/{ => tcg}/insn-format.def | 0 target/s390x/tcg/meson.build | 14 + target/s390x/trace-events | 2 +- 41 files changed, 512 insertions(+), 458 deletions(-) rename target/s390x/{internal.h => s390x-internal.h} (98%) rename target/s390x/{ => tcg}/s390-tod.h (100%) rename target/s390x/{ => tcg}/tcg_s390x.h (100%) rename target/s390x/{ => tcg}/vec.h (100%) create mode 100644 target/s390x/cpu-dump.c create mode 100644 target/s390x/cpu-sysemu.c delete mode 100644 target/s390x/tcg-stub.c rename target/s390x/{ => tcg}/cc_helper.c (99%) rename target/s390x/{ => tcg}/crypto_helper.c (98%) rename target/s390x/{ => tcg}/excp_helper.c (99%) rename target/s390x/{ => tcg}/fpu_helper.c (99%) rename target/s390x/{ => tcg}/int_helper.c (99%) rename target/s390x/{ => tcg}/mem_helper.c (99%) rename target/s390x/{ => tcg}/misc_helper.c (99%) rename target/s390x/{ => tcg}/translate.c (99%) rename target/s390x/{ => tcg}/vec_fpu_helper.c (99%) rename target/s390x/{ => tcg}/vec_helper.c (99%) rename target/s390x/{ => tcg}/vec_int_helper.c (100%) rename target/s390x/{ => tcg}/vec_string_helper.c (99%) rename target/s390x/{ => tcg}/translate_vx.c.inc (100%) rename target/s390x/{ => tcg}/insn-data.def (100%) rename target/s390x/{ => tcg}/insn-format.def (100%) create mode 100644 target/s390x/tcg/meson.build -- 2.26.2
