mbox series

[00/16] accel/tcg: Compile more files once

Message ID 20250307185645.970034-1-richard.henderson@linaro.org
Headers show
Series accel/tcg: Compile more files once | expand

Message

Richard Henderson March 7, 2025, 6:56 p.m. UTC
Take care of some easy cases in accel/tcg/.
From here it starts getting harder.  :-)


r~


Philippe Mathieu-Daudé (6):
  exec: Declare tlb_reset_dirty*() in 'exec/cputlb.h'
  exec: Declare tlb_set_page_full() in 'exec/cputlb.h'
  exec: Declare tlb_set_page_with_attrs() in 'exec/cputlb.h'
  exec: Declare tlb_set_page() in 'exec/cputlb.h'
  exec: Declare tlb_hit*() in 'exec/cputlb.h'
  exec: Declare tlb_flush*() in 'exec/cputlb.h'

Richard Henderson (10):
  include/exec: Split out exec/cpu-interrupt.h
  accel/tcg: Compile watchpoint.c once
  system: Build watchpoint.c once
  accel/tcg: Build tcg-accel-ops.c once
  accel/tcg: Build tcg-accel-ops-icount.c once
  accel/tcg: Build tcg-accel-ops-rr.c once
  accel/tcg: Build tcg-accel-ops-mttcg.c once
  include/exec: Split out helper-getpc.h
  accel/tcg: Build tcg-runtime.c once
  accel/tcg: Build tcg-runtime-gvec.c once

 accel/tcg/internal-common.h          |   2 +
 accel/tcg/tb-internal.h              |   2 -
 include/exec/cpu-all.h               |  76 +-------
 include/exec/cpu-interrupt.h         |  70 +++++++
 include/exec/cputlb.h                | 263 ++++++++++++++++++++++++++-
 include/exec/exec-all.h              | 262 +-------------------------
 include/exec/helper-getpc.h          |  31 ++++
 include/exec/poison.h                |  13 --
 include/exec/ram_addr.h              |   1 +
 accel/tcg/cputlb.c                   |  23 +++
 accel/tcg/tcg-accel-ops-icount.c     |   2 +-
 accel/tcg/tcg-accel-ops-mttcg.c      |   1 -
 accel/tcg/tcg-accel-ops-rr.c         |   2 +-
 accel/tcg/tcg-accel-ops.c            |   2 +-
 accel/tcg/tcg-runtime-gvec.c         |   1 -
 accel/tcg/tcg-runtime.c              |   8 +-
 accel/tcg/watchpoint.c               |   5 +-
 cpu-target.c                         |   1 +
 hw/intc/armv7m_nvic.c                |   2 +-
 hw/ppc/spapr_nested.c                |   1 +
 hw/sh4/sh7750.c                      |   1 +
 system/physmem.c                     |   1 +
 system/watchpoint.c                  |   3 +-
 target/alpha/helper.c                |   2 +-
 target/alpha/sys_helper.c            |   2 +-
 target/arm/helper.c                  |   1 +
 target/arm/tcg/tlb-insns.c           |   2 +-
 target/avr/helper.c                  |   2 +-
 target/hppa/mem_helper.c             |   1 +
 target/i386/helper.c                 |   2 +-
 target/i386/machine.c                |   2 +-
 target/i386/tcg/fpu_helper.c         |   2 +-
 target/i386/tcg/misc_helper.c        |   2 +-
 target/i386/tcg/system/excp_helper.c |   2 +-
 target/i386/tcg/system/misc_helper.c |   2 +-
 target/i386/tcg/system/svm_helper.c  |   2 +-
 target/loongarch/tcg/csr_helper.c    |   2 +-
 target/loongarch/tcg/tlb_helper.c    |   1 +
 target/m68k/helper.c                 |   1 +
 target/microblaze/helper.c           |   2 +-
 target/microblaze/mmu.c              |   2 +-
 target/mips/system/cp0.c             |   2 +-
 target/mips/tcg/system/cp0_helper.c  |   2 +-
 target/mips/tcg/system/tlb_helper.c  |   1 +
 target/openrisc/mmu.c                |   2 +-
 target/openrisc/sys_helper.c         |   1 +
 target/ppc/helper_regs.c             |   2 +-
 target/ppc/misc_helper.c             |   1 +
 target/ppc/mmu_helper.c              |   1 +
 target/riscv/cpu_helper.c            |   1 +
 target/riscv/csr.c                   |   1 +
 target/riscv/op_helper.c             |   1 +
 target/riscv/pmp.c                   |   2 +-
 target/rx/cpu.c                      |   2 +-
 target/s390x/gdbstub.c               |   2 +-
 target/s390x/sigp.c                  |   1 +
 target/s390x/tcg/excp_helper.c       |   1 +
 target/s390x/tcg/mem_helper.c        |   1 +
 target/s390x/tcg/misc_helper.c       |   1 +
 target/sh4/helper.c                  |   1 +
 target/sparc/ldst_helper.c           |   1 +
 target/sparc/mmu_helper.c            |   2 +-
 target/tricore/helper.c              |   2 +-
 target/xtensa/helper.c               |   2 +-
 target/xtensa/mmu_helper.c           |   1 +
 accel/tcg/meson.build                |  14 +-
 system/meson.build                   |   2 +-
 67 files changed, 450 insertions(+), 405 deletions(-)
 create mode 100644 include/exec/cpu-interrupt.h
 create mode 100644 include/exec/helper-getpc.h

Comments

Pierrick Bouvier March 7, 2025, 8:13 p.m. UTC | #1
On 3/7/25 10:56, Richard Henderson wrote:
> Take care of some easy cases in accel/tcg/.
>  From here it starts getting harder.  :-)
> 

It would be convenient to work on top of it.
Could you rebase it on top of master?

Thanks,
Pierrick

> 
> r~
> 
> 
> Philippe Mathieu-Daudé (6):
>    exec: Declare tlb_reset_dirty*() in 'exec/cputlb.h'
>    exec: Declare tlb_set_page_full() in 'exec/cputlb.h'
>    exec: Declare tlb_set_page_with_attrs() in 'exec/cputlb.h'
>    exec: Declare tlb_set_page() in 'exec/cputlb.h'
>    exec: Declare tlb_hit*() in 'exec/cputlb.h'
>    exec: Declare tlb_flush*() in 'exec/cputlb.h'
> 
> Richard Henderson (10):
>    include/exec: Split out exec/cpu-interrupt.h
>    accel/tcg: Compile watchpoint.c once
>    system: Build watchpoint.c once
>    accel/tcg: Build tcg-accel-ops.c once
>    accel/tcg: Build tcg-accel-ops-icount.c once
>    accel/tcg: Build tcg-accel-ops-rr.c once
>    accel/tcg: Build tcg-accel-ops-mttcg.c once
>    include/exec: Split out helper-getpc.h
>    accel/tcg: Build tcg-runtime.c once
>    accel/tcg: Build tcg-runtime-gvec.c once
> 
>   accel/tcg/internal-common.h          |   2 +
>   accel/tcg/tb-internal.h              |   2 -
>   include/exec/cpu-all.h               |  76 +-------
>   include/exec/cpu-interrupt.h         |  70 +++++++
>   include/exec/cputlb.h                | 263 ++++++++++++++++++++++++++-
>   include/exec/exec-all.h              | 262 +-------------------------
>   include/exec/helper-getpc.h          |  31 ++++
>   include/exec/poison.h                |  13 --
>   include/exec/ram_addr.h              |   1 +
>   accel/tcg/cputlb.c                   |  23 +++
>   accel/tcg/tcg-accel-ops-icount.c     |   2 +-
>   accel/tcg/tcg-accel-ops-mttcg.c      |   1 -
>   accel/tcg/tcg-accel-ops-rr.c         |   2 +-
>   accel/tcg/tcg-accel-ops.c            |   2 +-
>   accel/tcg/tcg-runtime-gvec.c         |   1 -
>   accel/tcg/tcg-runtime.c              |   8 +-
>   accel/tcg/watchpoint.c               |   5 +-
>   cpu-target.c                         |   1 +
>   hw/intc/armv7m_nvic.c                |   2 +-
>   hw/ppc/spapr_nested.c                |   1 +
>   hw/sh4/sh7750.c                      |   1 +
>   system/physmem.c                     |   1 +
>   system/watchpoint.c                  |   3 +-
>   target/alpha/helper.c                |   2 +-
>   target/alpha/sys_helper.c            |   2 +-
>   target/arm/helper.c                  |   1 +
>   target/arm/tcg/tlb-insns.c           |   2 +-
>   target/avr/helper.c                  |   2 +-
>   target/hppa/mem_helper.c             |   1 +
>   target/i386/helper.c                 |   2 +-
>   target/i386/machine.c                |   2 +-
>   target/i386/tcg/fpu_helper.c         |   2 +-
>   target/i386/tcg/misc_helper.c        |   2 +-
>   target/i386/tcg/system/excp_helper.c |   2 +-
>   target/i386/tcg/system/misc_helper.c |   2 +-
>   target/i386/tcg/system/svm_helper.c  |   2 +-
>   target/loongarch/tcg/csr_helper.c    |   2 +-
>   target/loongarch/tcg/tlb_helper.c    |   1 +
>   target/m68k/helper.c                 |   1 +
>   target/microblaze/helper.c           |   2 +-
>   target/microblaze/mmu.c              |   2 +-
>   target/mips/system/cp0.c             |   2 +-
>   target/mips/tcg/system/cp0_helper.c  |   2 +-
>   target/mips/tcg/system/tlb_helper.c  |   1 +
>   target/openrisc/mmu.c                |   2 +-
>   target/openrisc/sys_helper.c         |   1 +
>   target/ppc/helper_regs.c             |   2 +-
>   target/ppc/misc_helper.c             |   1 +
>   target/ppc/mmu_helper.c              |   1 +
>   target/riscv/cpu_helper.c            |   1 +
>   target/riscv/csr.c                   |   1 +
>   target/riscv/op_helper.c             |   1 +
>   target/riscv/pmp.c                   |   2 +-
>   target/rx/cpu.c                      |   2 +-
>   target/s390x/gdbstub.c               |   2 +-
>   target/s390x/sigp.c                  |   1 +
>   target/s390x/tcg/excp_helper.c       |   1 +
>   target/s390x/tcg/mem_helper.c        |   1 +
>   target/s390x/tcg/misc_helper.c       |   1 +
>   target/sh4/helper.c                  |   1 +
>   target/sparc/ldst_helper.c           |   1 +
>   target/sparc/mmu_helper.c            |   2 +-
>   target/tricore/helper.c              |   2 +-
>   target/xtensa/helper.c               |   2 +-
>   target/xtensa/mmu_helper.c           |   1 +
>   accel/tcg/meson.build                |  14 +-
>   system/meson.build                   |   2 +-
>   67 files changed, 450 insertions(+), 405 deletions(-)
>   create mode 100644 include/exec/cpu-interrupt.h
>   create mode 100644 include/exec/helper-getpc.h
>
Philippe Mathieu-Daudé March 7, 2025, 9:42 p.m. UTC | #2
On 7/3/25 19:56, Richard Henderson wrote:

> Philippe Mathieu-Daudé (6):
>    exec: Declare tlb_reset_dirty*() in 'exec/cputlb.h'
>    exec: Declare tlb_set_page_full() in 'exec/cputlb.h'
>    exec: Declare tlb_set_page_with_attrs() in 'exec/cputlb.h'
>    exec: Declare tlb_set_page() in 'exec/cputlb.h'
>    exec: Declare tlb_hit*() in 'exec/cputlb.h'
>    exec: Declare tlb_flush*() in 'exec/cputlb.h'

Thanks for taking these...

I'll rebase my "move that API to softmmu/tlb.h' on top, the
other patches left in my previous series becoming 'move to
softmmu/probe.h'.