mbox series

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

Message ID 20230914185718.76241-1-philmd@linaro.org
Headers show
Series accel/tcg: Make more files target agnostic (& exec/ housekeeping) | expand

Message

Philippe Mathieu-Daudé Sept. 14, 2023, 6:57 p.m. UTC
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%)

Comments

Anton Johansson Sept. 15, 2023, 12:22 p.m. UTC | #1
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.