[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL v2 00/33] Abstract ArchCPU
From: |
Philippe Mathieu-Daudé |
Subject: |
[PULL v2 00/33] Abstract ArchCPU |
Date: |
Mon, 7 Mar 2022 00:27:49 +0100 |
From: Philippe Mathieu-Daudé <f4bug@amsat.org>
The following changes since commit 9d662a6b22a0838a85c5432385f35db2488a33a5:
Merge remote-tracking branch 'remotes/legoater/tags/pull-ppc-20220305' into
staging (2022-03-05 18:03:15 +0000)
are available in the Git repository at:
https://github.com/philmd/qemu.git tags/abstract-arch-cpu-20220307
for you to fetch changes up to 61deada4bf54fddf1bc36e15c16269c33462aa90:
accel/tcg: Remove pointless CPUArchState casts (2022-03-06 22:47:52 +0100)
Since v1: Fixed Darwin/x86_64 (HVF)
----------------------------------------------------------------
- Re-org accel/ and softmmu/ to have more target-agnostic objects.
- Use CPUArchState as an abstract type, defined by each target
(CPUState is our interface with generic code, CPUArchState is
our interface with target-specific code).
----------------------------------------------------------------
Philippe Mathieu-Daudé (32):
accel: Restrict sysemu stubs to system emulation
accel/meson: Only build hw virtualization with system emulation
exec: Declare vaddr as a generic target-agnostic type
exec: Make cpu_memory_rw_debug() target agnostic
sysemu/memory_mapping: Become target-agnostic
sysemu/kvm: Make kvm_on_sigbus() / kvm_on_sigbus_vcpu() target
agnostic
accel/kvm: Simplify user-mode #ifdef'ry
accel/hax: Introduce CONFIG_HAX_IS_POSSIBLE
softmmu/cpus: Code movement
accel: Introduce AccelOpsClass::cpu_thread_is_idle()
accel: Introduce AccelOpsClass::cpus_are_resettable()
softmmu/globals: Remove unused 'hw/i386/*' headers
softmmu/physmem: Remove unnecessary include
softmmu/cpu-timers: Remove unused 'exec/exec-all.h' header
misc: Remove unnecessary "sysemu/cpu-timers.h" include
misc: Add missing "sysemu/cpu-timers.h" include
exec/gdbstub: Make gdb_exit() / gdb_set_stop_cpu() target agnostic
exec/cpu: Make address_space_init/reloading_memory_map target agnostic
softmmu: Add qemu_init_arch_modules()
softmmu: Build target-agnostic objects once
meson: Display libfdt as disabled when system emulation is disabled
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/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
target/i386: Remove pointless CPUArchState casts
accel/tcg: Remove pointless CPUArchState casts
Taylor Simpson (1):
Hexagon (target/hexagon) convert to OBJECT_DECLARE_TYPE
meson.build | 4 +-
include/exec/cpu-all.h | 4 -
include/exec/cpu-common.h | 39 ++++++++++
include/exec/cpu_ldst.h | 1 +
include/exec/exec-all.h | 26 -------
include/exec/gdbstub.h | 25 +++---
include/exec/poison.h | 2 -
include/hw/core/cpu.h | 33 ++++----
include/qemu/typedefs.h | 2 +
include/sysemu/accel-ops.h | 3 +
include/sysemu/arch_init.h | 2 +
include/sysemu/hax.h | 18 +++--
include/sysemu/hw_accel.h | 5 --
include/sysemu/kvm.h | 6 +-
include/sysemu/memory_mapping.h | 5 +-
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.h | 7 +-
target/i386/hvf/x86_emu.h | 22 +++---
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 ++--
accel/kvm/kvm-accel-ops.c | 12 +++
accel/qtest/qtest.c | 1 -
accel/stubs/hax-stub.c | 2 +
accel/stubs/kvm-stub.c | 5 --
accel/tcg/cpu-exec.c | 4 +-
accel/tcg/tcg-accel-ops-icount.c | 1 +
accel/tcg/tcg-accel-ops-mttcg.c | 1 +
accel/tcg/tcg-accel-ops-rr.c | 1 +
accel/tcg/tcg-accel-ops.c | 1 +
cpu.c | 8 +-
softmmu/arch_init.c | 9 +++
softmmu/cpu-timers.c | 1 -
softmmu/cpus.c | 23 +++---
softmmu/globals.c | 2 -
softmmu/memory_mapping.c | 1 +
softmmu/physmem.c | 7 +-
softmmu/vl.c | 5 +-
target/alpha/translate.c | 1 -
target/i386/hax/hax-all.c | 11 +--
target/i386/hvf/x86_emu.c | 110 +++++++++++++--------------
target/i386/nvmm/nvmm-all.c | 14 ++--
target/i386/tcg/sysemu/excp_helper.c | 1 +
target/i386/tcg/sysemu/misc_helper.c | 1 +
target/i386/whpx/whpx-accel-ops.c | 6 ++
target/i386/whpx/whpx-all.c | 18 ++---
target/riscv/csr.c | 1 +
tests/unit/ptimer-test-stubs.c | 1 -
accel/meson.build | 12 +--
accel/stubs/meson.build | 11 ++-
softmmu/meson.build | 24 +++---
87 files changed, 371 insertions(+), 402 deletions(-)
--
2.35.1
- [PULL v2 00/33] Abstract ArchCPU,
Philippe Mathieu-Daudé <=