[PATCH 00/11] accel/tcg: Make more files target agnostic (& exec/ housekeeping)

Philippe Mathieu-Daudé posted 11 patches 8 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20230914185718.76241-1-philmd@linaro.org
Maintainers: Richard Henderson <richard.henderson@linaro.org>, Paolo Bonzini <pbonzini@redhat.com>, Riku Voipio <riku.voipio@iki.fi>, "Marc-André Lureau" <marcandre.lureau@redhat.com>, "Daniel P. Berrangé" <berrange@redhat.com>, Thomas Huth <thuth@redhat.com>, "Philippe Mathieu-Daudé" <philmd@linaro.org>
MAINTAINERS                                   |  7 ++--
meson.build                                   |  6 +--
accel/tcg/internal-common.h                   | 28 +++++++++++++
accel/tcg/{internal.h => internal-target.h}   | 18 ++-------
include/exec/cpu-all.h                        | 12 ------
include/exec/cpu-common.h                     | 39 +++++++++++++++++++
include/exec/exec-all.h                       | 30 --------------
accel/{accel-common.c => accel-target.c}      |  0
accel/tcg/cpu-exec-common.c                   |  3 +-
accel/tcg/cpu-exec.c                          |  3 +-
accel/tcg/cputlb.c                            |  3 +-
softmmu/icount.c => accel/tcg/icount-common.c |  3 +-
accel/tcg/monitor.c                           |  2 +-
accel/tcg/tb-maint.c                          |  3 +-
accel/tcg/tcg-all.c                           |  2 +-
accel/tcg/translate-all.c                     |  3 +-
accel/tcg/translator.c                        |  2 +-
accel/tcg/user-exec.c                         |  3 +-
cpus-common.c => cpu-common.c                 |  0
cpu.c => cpu-target.c                         |  0
page-vary.c => page-vary-target.c             |  0
accel/meson.build                             |  4 +-
accel/tcg/meson.build                         |  8 +++-
softmmu/meson.build                           |  4 --
24 files changed, 100 insertions(+), 83 deletions(-)
create mode 100644 accel/tcg/internal-common.h
rename accel/tcg/{internal.h => internal-target.h} (89%)
rename accel/{accel-common.c => accel-target.c} (100%)
rename softmmu/icount.c => accel/tcg/icount-common.c (99%)
rename cpus-common.c => cpu-common.c (100%)
rename cpu.c => cpu-target.c (100%)
rename page-vary.c => page-vary-target.c (100%)
[PATCH 00/11] accel/tcg: Make more files target agnostic (& exec/ housekeeping)
Posted by Philippe Mathieu-Daudé 8 months ago
While reviewing Anton/Richard series [*] it was a bit hard
for me to figure out which headers are target specific and
"taint" the source which include them, in that we can not
compile them once for all targets.

My understanding is -all.h suffix is a target specific header,
and -common.c is a target agnostic file. I tried to consolidate
a bit renaming some files with the -target.c suffix (I'd like
to rename -all.h -> .target.h for parity / clarity, but that
is too much code churn at this point).

This series basically:
- Rename few files using -common/-target suffix,
- Move icount to accel/tcg/
- Make 3 files from accel/tcg/ target agnostic.

Based-on: <20230914024435.1381329-1-richard.henderson@linaro.org>
[*] https://lore.kernel.org/qemu-devel/20230914024435.1381329-1-richard.henderson@linaro.org/

Philippe Mathieu-Daudé (11):
  exec: Make EXCP_FOO definitions target agnostic
  exec: Move cpu_loop_foo() target agnostic functions to 'cpu-common.h'
  accel/tcg: Restrict dump_exec_info() declaration
  accel: Make accel-blocker.o target agnostic
  accel: Rename accel-common.c -> accel-target.c
  exec: Rename cpu.c -> cpu-target.c
  exec: Rename target specific page-vary.c -> page-vary-target.c
  accel/tcg: Rename target-specific 'internal.h' -> 'internal-target.h'
  accel/tcg: Make monitor.c a target-agnostic unit
  accel/tcg: Make icount.o a target agnostic unit
  accel/tcg: Make cpu-exec-common.c a target agnostic unit

 MAINTAINERS                                   |  7 ++--
 meson.build                                   |  6 +--
 accel/tcg/internal-common.h                   | 28 +++++++++++++
 accel/tcg/{internal.h => internal-target.h}   | 18 ++-------
 include/exec/cpu-all.h                        | 12 ------
 include/exec/cpu-common.h                     | 39 +++++++++++++++++++
 include/exec/exec-all.h                       | 30 --------------
 accel/{accel-common.c => accel-target.c}      |  0
 accel/tcg/cpu-exec-common.c                   |  3 +-
 accel/tcg/cpu-exec.c                          |  3 +-
 accel/tcg/cputlb.c                            |  3 +-
 softmmu/icount.c => accel/tcg/icount-common.c |  3 +-
 accel/tcg/monitor.c                           |  2 +-
 accel/tcg/tb-maint.c                          |  3 +-
 accel/tcg/tcg-all.c                           |  2 +-
 accel/tcg/translate-all.c                     |  3 +-
 accel/tcg/translator.c                        |  2 +-
 accel/tcg/user-exec.c                         |  3 +-
 cpus-common.c => cpu-common.c                 |  0
 cpu.c => cpu-target.c                         |  0
 page-vary.c => page-vary-target.c             |  0
 accel/meson.build                             |  4 +-
 accel/tcg/meson.build                         |  8 +++-
 softmmu/meson.build                           |  4 --
 24 files changed, 100 insertions(+), 83 deletions(-)
 create mode 100644 accel/tcg/internal-common.h
 rename accel/tcg/{internal.h => internal-target.h} (89%)
 rename accel/{accel-common.c => accel-target.c} (100%)
 rename softmmu/icount.c => accel/tcg/icount-common.c (99%)
 rename cpus-common.c => cpu-common.c (100%)
 rename cpu.c => cpu-target.c (100%)
 rename page-vary.c => page-vary-target.c (100%)

-- 
2.41.0


Re: [PATCH 00/11] accel/tcg: Make more files target agnostic (& exec/ housekeeping)
Posted by Anton Johansson via 8 months ago
On 14/09/23, Philippe Mathieu-Daudé wrote:
> While reviewing Anton/Richard series [*] it was a bit hard
> for me to figure out which headers are target specific and
> "taint" the source which include them, in that we can not
> compile them once for all targets.
> 
> My understanding is -all.h suffix is a target specific header,
> and -common.c is a target agnostic file. I tried to consolidate
> a bit renaming some files with the -target.c suffix (I'd like
> to rename -all.h -> .target.h for parity / clarity, but that
> is too much code churn at this point).

Nice, very much appreciated, I've also been struggling a bit with 
keeping track of especially target-agnostic/dependent headers.

-- 
Anton Johansson
rev.ng Labs Srl.