On 3/1/21 10:50 PM, Philippe Mathieu-Daudé wrote:
> Hi,
>
> This series is inspired on Claudio TCG work.
>
> Instead of separate TCG from other accelerators, here we
> separate sysemu operations (system VS user).
>
> Patches 1-6 are generic cleanups.
> Patches 7-15 move from CPUClass to SysemuCPUOps
> Patches 16-17 restrict SysemuCPUOps to sysemu
>
> Since v1:
> - Name 'sysemu' (Claudio)
> - change each field progressively (Richard)
>
> Regards,
>
> Phil.
Very cool overall, and it all LGTM,
with the exception of patch 16.
Ciao,
Claudio
>
> Supersedes: <20210226163227.4097950-1-f4bug@amsat.org>
>
> Philippe Mathieu-Daudé (17):
> target: Set CPUClass::vmsd instead of DeviceClass::vmsd
> cpu: Un-inline cpu_get_phys_page_debug and cpu_asidx_from_attrs
> cpu: Introduce cpu_virtio_is_big_endian()
> cpu: Directly use cpu_write_elf*() fallback handlers in place
> cpu: Directly use get_paging_enabled() fallback handlers in place
> cpu: Directly use get_memory_mapping() fallback handlers in place
> cpu: Introduce SysemuCPUOps structure
> cpu: Move CPUClass::vmsd to SysemuCPUOps
> cpu: Move CPUClass::virtio_is_big_endian to SysemuCPUOps
> cpu: Move CPUClass::get_crash_info to SysemuCPUOps
> cpu: Move CPUClass::write_elf* to SysemuCPUOps
> cpu: Move CPUClass::asidx_from_attrs to SysemuCPUOps
> cpu: Move CPUClass::get_phys_page_debug to SysemuCPUOps
> cpu: Move CPUClass::get_memory_mapping to SysemuCPUOps
> cpu: Move CPUClass::get_paging_enabled to SysemuCPUOps
> cpu: Restrict cpu_paging_enabled / cpu_get_memory_mapping to sysemu
> cpu: Restrict "hw/core/sysemu-cpu-ops.h" to target/cpu.c
>
> include/hw/core/cpu.h | 91 ++++++-------------------
> include/hw/core/sysemu-cpu-ops.h | 89 ++++++++++++++++++++++++
> cpu.c | 19 +++---
> hw/core/cpu.c | 113 +++++++++++++++++--------------
> hw/virtio/virtio.c | 4 +-
> target/alpha/cpu.c | 11 ++-
> target/arm/cpu.c | 19 ++++--
> target/avr/cpu.c | 9 ++-
> target/cris/cpu.c | 11 ++-
> target/hppa/cpu.c | 11 ++-
> target/i386/cpu.c | 29 +++++---
> target/lm32/cpu.c | 10 ++-
> target/m68k/cpu.c | 11 ++-
> target/microblaze/cpu.c | 11 ++-
> target/mips/cpu.c | 11 ++-
> target/moxie/cpu.c | 11 +--
> target/nios2/cpu.c | 16 ++++-
> target/openrisc/cpu.c | 11 ++-
> target/riscv/cpu.c | 13 +++-
> target/rx/cpu.c | 17 ++++-
> target/s390x/cpu.c | 15 ++--
> target/sh4/cpu.c | 11 ++-
> target/sparc/cpu.c | 11 ++-
> target/tricore/cpu.c | 14 +++-
> target/unicore32/cpu.c | 8 ++-
> target/xtensa/cpu.c | 11 ++-
> target/ppc/translate_init.c.inc | 21 +++---
> 27 files changed, 409 insertions(+), 199 deletions(-)
> create mode 100644 include/hw/core/sysemu-cpu-ops.h
>