All of lore.kernel.org
 help / color / mirror / Atom feed
From: Claudio Fontana <cfontana@suse.de>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: qemu-devel <qemu-devel@nongnu.org>
Subject: Re: [RFC v1 0/5] s390x cleanup
Date: Tue, 23 Mar 2021 20:30:52 +0100	[thread overview]
Message-ID: <d06200a7-9404-e40d-8e54-690e3d805a0e@suse.de> (raw)
In-Reply-To: <20210322191551.25752-1-cfontana@suse.de>

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
> 



      parent reply	other threads:[~2021-03-23 19:32 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-22 19:15 [RFC v1 0/5] s390x cleanup Claudio Fontana
2021-03-22 19:15 ` [RFC v1 1/5] hw/s390x: only build qemu-tod from the CONFIG_TCG build Claudio Fontana
2021-03-31 11:07   ` Cornelia Huck
2021-04-19  9:11     ` Claudio Fontana
2021-04-19 16:12       ` Claudio Fontana
2021-04-19 16:20         ` Cornelia Huck
2021-04-19 16:24           ` Claudio Fontana
2021-04-19 16:30             ` Cornelia Huck
2021-03-22 19:15 ` [RFC v1 2/5] target/s390x: start moving TCG-only code to tcg/ Claudio Fontana
2021-03-22 19:15 ` [RFC v1 3/5] target/s390x: move sysemu-only code out to cpu-sysemu.c Claudio Fontana
2021-03-22 19:15 ` [RFC v1 4/5] target/s390x: split cpu-dump from helper.c Claudio Fontana
2021-03-22 19:15 ` [RFC v1 5/5] target/s390x: make helper.c sysemu-only Claudio Fontana
2021-03-23 19:30 ` Claudio Fontana [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d06200a7-9404-e40d-8e54-690e3d805a0e@suse.de \
    --to=cfontana@suse.de \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.