Missing review: patch #7 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-5 are generic cleanups. Patches 6-14 move from CPUClass to SysemuCPUOps Patch 15 restricts SysemuCPUOps to sysemu Since v4: - Removed watchpoint patches (need more work) (Richard) - Merged patch 1 & 7 "Move CPUClass::vmsd to SysemuCPUOps" (Eduardo) - Reworded cpu_virtio_is_big_endian description (Greg) - Move write_elf() in target/riscv/cpu.c (rebased on top of 43a965888) - Added R-b tags Since v3: - SysemuCPUOps const (Richard) - added missing xtensa #ifdef'ry - added missing aa64/sve #ifdef'ry - added Laurent R-b Since v2: - fixed lm32/unicore32 - remove USER_ONLY ifdef'ry from "cpu.h" (Claudio) Since v1: - Name 'sysemu' (Claudio) - change each field progressively (Richard) $ git backport-diff Key: [----] : patches are identical [####] : number of functional differences between upstream/downstream patch [down] : patch is downstream-only The flags [FC] indicate (F)unctional and (C)ontextual differences, respective= ly 001/15:[----] [--] 'cpu: Un-inline cpu_get_phys_page_debug and cpu_asidx_from= _attrs' 002/15:[----] [--] 'cpu: Introduce cpu_virtio_is_big_endian()' 003/15:[----] [--] 'cpu: Directly use cpu_write_elf*() fallback handlers in p= lace' 004/15:[----] [--] 'cpu: Directly use get_paging_enabled() fallback handlers = in place' 005/15:[----] [--] 'cpu: Directly use get_memory_mapping() fallback handlers = in place' 006/15:[----] [-C] 'cpu: Introduce SysemuCPUOps structure' 007/15:[0036] [FC] 'cpu: Move CPUClass::vmsd to SysemuCPUOps' 008/15:[----] [--] 'cpu: Move CPUClass::virtio_is_big_endian to SysemuCPUOps' 009/15:[----] [--] 'cpu: Move CPUClass::get_crash_info to SysemuCPUOps' 010/15:[0004] [FC] 'cpu: Move CPUClass::write_elf* to SysemuCPUOps' 011/15:[----] [--] 'cpu: Move CPUClass::asidx_from_attrs to SysemuCPUOps' 012/15:[----] [-C] 'cpu: Move CPUClass::get_phys_page_debug to SysemuCPUOps' 013/15:[----] [--] 'cpu: Move CPUClass::get_memory_mapping to SysemuCPUOps' 014/15:[----] [--] 'cpu: Move CPUClass::get_paging_enabled to SysemuCPUOps' 015/15:[0003] [FC] 'cpu: Restrict "hw/core/sysemu-cpu-ops.h" to target/cpu.c' Regards, Phil. Supersedes: <20210303214708.1727801-1-f4...@amsat.org> Philippe Mathieu-Daud=C3=A9 (15): 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 "hw/core/sysemu-cpu-ops.h" to target/cpu.c include/hw/core/cpu.h | 92 ++++++------------------- include/hw/core/sysemu-cpu-ops.h | 89 ++++++++++++++++++++++++ include/migration/vmstate.h | 2 - target/alpha/cpu.h | 3 + target/arm/cpu.h | 3 + target/avr/cpu.h | 1 + target/cris/cpu.h | 3 + target/hexagon/cpu.h | 3 + target/hppa/cpu.h | 3 + target/i386/cpu.h | 3 + target/lm32/cpu.h | 3 + target/m68k/cpu.h | 3 + target/microblaze/cpu.h | 1 + target/mips/cpu.h | 3 + target/moxie/cpu.h | 3 + target/nios2/cpu.h | 1 + target/openrisc/cpu.h | 3 + target/ppc/cpu.h | 3 + target/riscv/cpu.h | 3 + target/rx/cpu.h | 1 + target/s390x/cpu.h | 3 + target/sh4/cpu.h | 3 + target/sparc/cpu.h | 3 + target/tricore/cpu.h | 3 + target/unicore32/cpu.h | 3 + target/xtensa/cpu.h | 3 + cpu.c | 19 +++--- hw/core/cpu.c | 113 +++++++++++++++++-------------- hw/virtio/virtio.c | 4 +- stubs/vmstate.c | 2 - target/alpha/cpu.c | 11 ++- target/arm/cpu.c | 18 +++-- target/avr/cpu.c | 8 ++- target/cris/cpu.c | 11 ++- target/hppa/cpu.c | 11 ++- target/i386/cpu.c | 28 +++++--- target/lm32/cpu.c | 10 ++- target/m68k/cpu.c | 11 ++- target/microblaze/cpu.c | 11 ++- target/mips/cpu.c | 10 ++- target/moxie/cpu.c | 10 +-- target/nios2/cpu.c | 15 +++- target/openrisc/cpu.c | 11 ++- target/riscv/cpu.c | 16 +++-- target/rx/cpu.c | 16 ++++- target/s390x/cpu.c | 14 ++-- target/sh4/cpu.c | 11 ++- target/sparc/cpu.c | 10 ++- target/tricore/cpu.c | 13 +++- target/unicore32/cpu.c | 9 ++- target/xtensa/cpu.c | 11 ++- target/ppc/translate_init.c.inc | 20 +++--- 52 files changed, 461 insertions(+), 206 deletions(-) create mode 100644 include/hw/core/sysemu-cpu-ops.h --=20 2.26.3