mbox series

[v2,00/14] target: Use ArchCPU & CPUArchState as abstract interface to target CPU

Message ID 20220214183144.27402-1-f4bug@amsat.org (mailing list archive)
Headers show
Series target: Use ArchCPU & CPUArchState as abstract interface to target CPU | expand

Message

Philippe Mathieu-Daudé Feb. 14, 2022, 6:31 p.m. UTC
Missing review: 10, 13, 14

Since v1:
- Include Hexagon OBJECT_DECLARE_TYPE() patch
- Add missing includes to Hexagon
- Introduce OBJECT_DECLARE_CPU_TYPE() macro
- Use OBJECT_DECLARE_CPU_TYPE()

Kind of respin of the "exec: Move translation declarations to
'translate-all.h'" series, but without modifying translate-all.h :)
(same same but different).

Based-on: <20220207082756.82600-1-f4bug@amsat.org>
"exec: Remove 'qemu/log.h' from 'exec-all.h'"

Philippe Mathieu-Daudé (13):
  meson: Display libfdt as disabled when system emulation is disabled
  hw/m68k/mcf: Add missing 'exec/hwaddr.h' header
  hw/tricore: Remove unused and incorrect header
  exec/cpu_ldst: Include 'cpu.h' to get target_ulong definition
  cpu: Add missing 'exec/exec-all.h' and 'qemu/accel.h' headers
  target/i386/cpu: Ensure accelerators set CPU addressble physical bits
  target/i386/tcg/sysemu: Include missing 'exec/exec-all.h' header
  target: Include missing 'cpu.h'
  target/hexagon: Add missing 'hw/core/cpu.h' include
  target: Use forward declared type instead of structure type
  target: Use CPUArchState as interface to target-specific CPU state
  target: Introduce and use OBJECT_DECLARE_CPU_TYPE() macro
  target: Use ArchCPU as interface to target CPU

Taylor Simpson (1):
  Hexagon (target/hexagon) convert to OBJECT_DECLARE_TYPE

 cpu.c                                |  2 ++
 include/exec/cpu_ldst.h              |  1 +
 include/exec/poison.h                |  2 --
 include/hw/core/cpu.h                | 20 +++++++++++++++++++-
 include/hw/m68k/mcf.h                |  1 +
 include/hw/tricore/triboard.h        |  1 -
 include/qemu/typedefs.h              |  2 ++
 meson.build                          |  4 +++-
 target/alpha/cpu-qom.h               |  3 +--
 target/alpha/cpu.h                   | 11 +++--------
 target/arm/cpu-qom.h                 |  3 +--
 target/arm/cpu.h                     |  7 ++-----
 target/arm/hvf_arm.h                 |  2 +-
 target/avr/cpu-qom.h                 |  3 +--
 target/avr/cpu.h                     | 13 ++++---------
 target/cris/cpu-qom.h                |  3 +--
 target/cris/cpu.h                    |  7 ++-----
 target/hexagon/cpu.h                 | 23 ++++++++---------------
 target/hppa/cpu-qom.h                |  3 +--
 target/hppa/cpu.h                    | 12 +++---------
 target/i386/cpu-qom.h                |  3 +--
 target/i386/cpu.c                    |  1 +
 target/i386/cpu.h                    |  7 ++-----
 target/i386/tcg/sysemu/excp_helper.c |  1 +
 target/i386/tcg/sysemu/misc_helper.c |  1 +
 target/m68k/cpu-qom.h                |  3 +--
 target/m68k/cpu.h                    |  7 ++-----
 target/microblaze/cpu-qom.h          |  3 +--
 target/microblaze/cpu.h              |  9 +++------
 target/microblaze/mmu.h              |  2 ++
 target/mips/cpu-qom.h                |  3 +--
 target/mips/cpu.h                    | 10 +++-------
 target/mips/internal.h               | 15 ++++++++-------
 target/nios2/cpu.h                   |  9 ++++-----
 target/nios2/mmu.h                   |  2 ++
 target/openrisc/cpu.h                | 17 +++++------------
 target/ppc/cpu-qom.h                 |  5 ++---
 target/ppc/cpu.h                     |  7 ++-----
 target/riscv/cpu.h                   | 11 ++++-------
 target/riscv/pmp.h                   |  2 ++
 target/rx/cpu-qom.h                  |  5 +----
 target/rx/cpu.h                      |  6 ++----
 target/s390x/cpu-qom.h               |  7 +++----
 target/s390x/cpu.h                   |  7 ++-----
 target/sh4/cpu-qom.h                 |  3 +--
 target/sh4/cpu.h                     |  7 ++-----
 target/sparc/cpu-qom.h               |  3 +--
 target/sparc/cpu.h                   |  9 +++------
 target/tricore/cpu-qom.h             |  3 +--
 target/tricore/cpu.h                 | 10 +++-------
 target/xtensa/cpu-qom.h              |  3 +--
 target/xtensa/cpu.h                  | 13 +++++--------
 52 files changed, 129 insertions(+), 188 deletions(-)

Comments

Damien Hedde Feb. 15, 2022, 5:45 p.m. UTC | #1
Hi Philippe,

What's the idea behind these 2 types: ArchCPU and CPUArchState ?
I don't understand why we'll need them.

Thanks,
Damien

On 2/14/22 19:31, Philippe Mathieu-Daudé via wrote:
> Missing review: 10, 13, 14
> 
> Since v1:
> - Include Hexagon OBJECT_DECLARE_TYPE() patch
> - Add missing includes to Hexagon
> - Introduce OBJECT_DECLARE_CPU_TYPE() macro
> - Use OBJECT_DECLARE_CPU_TYPE()
> 
> Kind of respin of the "exec: Move translation declarations to
> 'translate-all.h'" series, but without modifying translate-all.h :)
> (same same but different).
> 
> Based-on: <20220207082756.82600-1-f4bug@amsat.org>
> "exec: Remove 'qemu/log.h' from 'exec-all.h'"
> 
> Philippe Mathieu-Daudé (13):
>    meson: Display libfdt as disabled when system emulation is disabled
>    hw/m68k/mcf: Add missing 'exec/hwaddr.h' header
>    hw/tricore: Remove unused and incorrect header
>    exec/cpu_ldst: Include 'cpu.h' to get target_ulong definition
>    cpu: Add missing 'exec/exec-all.h' and 'qemu/accel.h' headers
>    target/i386/cpu: Ensure accelerators set CPU addressble physical bits
>    target/i386/tcg/sysemu: Include missing 'exec/exec-all.h' header
>    target: Include missing 'cpu.h'
>    target/hexagon: Add missing 'hw/core/cpu.h' include
>    target: Use forward declared type instead of structure type
>    target: Use CPUArchState as interface to target-specific CPU state
>    target: Introduce and use OBJECT_DECLARE_CPU_TYPE() macro
>    target: Use ArchCPU as interface to target CPU
> 
> Taylor Simpson (1):
>    Hexagon (target/hexagon) convert to OBJECT_DECLARE_TYPE
> 
>   cpu.c                                |  2 ++
>   include/exec/cpu_ldst.h              |  1 +
>   include/exec/poison.h                |  2 --
>   include/hw/core/cpu.h                | 20 +++++++++++++++++++-
>   include/hw/m68k/mcf.h                |  1 +
>   include/hw/tricore/triboard.h        |  1 -
>   include/qemu/typedefs.h              |  2 ++
>   meson.build                          |  4 +++-
>   target/alpha/cpu-qom.h               |  3 +--
>   target/alpha/cpu.h                   | 11 +++--------
>   target/arm/cpu-qom.h                 |  3 +--
>   target/arm/cpu.h                     |  7 ++-----
>   target/arm/hvf_arm.h                 |  2 +-
>   target/avr/cpu-qom.h                 |  3 +--
>   target/avr/cpu.h                     | 13 ++++---------
>   target/cris/cpu-qom.h                |  3 +--
>   target/cris/cpu.h                    |  7 ++-----
>   target/hexagon/cpu.h                 | 23 ++++++++---------------
>   target/hppa/cpu-qom.h                |  3 +--
>   target/hppa/cpu.h                    | 12 +++---------
>   target/i386/cpu-qom.h                |  3 +--
>   target/i386/cpu.c                    |  1 +
>   target/i386/cpu.h                    |  7 ++-----
>   target/i386/tcg/sysemu/excp_helper.c |  1 +
>   target/i386/tcg/sysemu/misc_helper.c |  1 +
>   target/m68k/cpu-qom.h                |  3 +--
>   target/m68k/cpu.h                    |  7 ++-----
>   target/microblaze/cpu-qom.h          |  3 +--
>   target/microblaze/cpu.h              |  9 +++------
>   target/microblaze/mmu.h              |  2 ++
>   target/mips/cpu-qom.h                |  3 +--
>   target/mips/cpu.h                    | 10 +++-------
>   target/mips/internal.h               | 15 ++++++++-------
>   target/nios2/cpu.h                   |  9 ++++-----
>   target/nios2/mmu.h                   |  2 ++
>   target/openrisc/cpu.h                | 17 +++++------------
>   target/ppc/cpu-qom.h                 |  5 ++---
>   target/ppc/cpu.h                     |  7 ++-----
>   target/riscv/cpu.h                   | 11 ++++-------
>   target/riscv/pmp.h                   |  2 ++
>   target/rx/cpu-qom.h                  |  5 +----
>   target/rx/cpu.h                      |  6 ++----
>   target/s390x/cpu-qom.h               |  7 +++----
>   target/s390x/cpu.h                   |  7 ++-----
>   target/sh4/cpu-qom.h                 |  3 +--
>   target/sh4/cpu.h                     |  7 ++-----
>   target/sparc/cpu-qom.h               |  3 +--
>   target/sparc/cpu.h                   |  9 +++------
>   target/tricore/cpu-qom.h             |  3 +--
>   target/tricore/cpu.h                 | 10 +++-------
>   target/xtensa/cpu-qom.h              |  3 +--
>   target/xtensa/cpu.h                  | 13 +++++--------
>   52 files changed, 129 insertions(+), 188 deletions(-)
>
Philippe Mathieu-Daudé March 6, 2022, 11:12 a.m. UTC | #2
On 14/2/22 19:31, Philippe Mathieu-Daudé wrote:

> Philippe Mathieu-Daudé (13):
>    meson: Display libfdt as disabled when system emulation is disabled
>    hw/m68k/mcf: Add missing 'exec/hwaddr.h' header
>    hw/tricore: Remove unused and incorrect header
>    exec/cpu_ldst: Include 'cpu.h' to get target_ulong definition
>    cpu: Add missing 'exec/exec-all.h' and 'qemu/accel.h' headers
>    target/i386/cpu: Ensure accelerators set CPU addressble physical bits
>    target/i386/tcg/sysemu: Include missing 'exec/exec-all.h' header
>    target: Include missing 'cpu.h'
>    target/hexagon: Add missing 'hw/core/cpu.h' include
>    target: Use forward declared type instead of structure type
>    target: Use CPUArchState as interface to target-specific CPU state
>    target: Introduce and use OBJECT_DECLARE_CPU_TYPE() macro
>    target: Use ArchCPU as interface to target CPU
> 
> Taylor Simpson (1):
>    Hexagon (target/hexagon) convert to OBJECT_DECLARE_TYPE

Since this series is fully reviewed and soft-freeze is soon,
I'm going to send a pull request for this cleanup.
Queuing as 'abstract-arch-cpu'.