[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC v1 0/5] s390x cleanup
From: |
Claudio Fontana |
Subject: |
Re: [RFC v1 0/5] s390x cleanup |
Date: |
Tue, 23 Mar 2021 20:30:52 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.12.0 |
On 3/22/21 8:15 PM, Claudio Fontana wrote:
> Hi, I am starting a cleanup series for s390x,
>
> with the goal of doing similar splits of KVM vs TCG,
One annoying thing is that it appears that the cpu accel model does not offer
much in terms of refactoring
and code simplification opportunities for s390x as-is, in particular for KVM.
It is possible that with quite some rework of the cpu_models code we could gain
something,
so I will give it a try still, but for now adding the accel-cpu object does not
suddenly provide nice low hanging fruits in terms of simplifications.
There are instead some good opportunities in terms of SYSEMU vs USER mode
splits/beautification I think.
Ciao,
Claudio
> 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
>
- [RFC v1 0/5] s390x cleanup, Claudio Fontana, 2021/03/22
- [RFC v1 1/5] hw/s390x: only build qemu-tod from the CONFIG_TCG build, Claudio Fontana, 2021/03/22
- [RFC v1 3/5] target/s390x: move sysemu-only code out to cpu-sysemu.c, Claudio Fontana, 2021/03/22
- [RFC v1 4/5] target/s390x: split cpu-dump from helper.c, Claudio Fontana, 2021/03/22
- [RFC v1 2/5] target/s390x: start moving TCG-only code to tcg/, Claudio Fontana, 2021/03/22
- [RFC v1 5/5] target/s390x: make helper.c sysemu-only, Claudio Fontana, 2021/03/22
- Re: [RFC v1 0/5] s390x cleanup,
Claudio Fontana <=