Hi Claudio, On 12/10/20 1:11 PM, Claudio Fontana wrote: > Hello, this is version 10 of the cleanup, changed from RFC to PATCH. > > v9 -> v10: minor tweaks and fixes > > * in "i386: split cpu accelerators from cpu.c", > > use kvm/kvm-cpu.c, hvf/hvf-cpu.c, tcg/tcg-cpu.c. > Easier to understand compared to editing multiple cpu.c files, > and matches the header files if needed (kvm-cpu.h). > > * in "accel: replace struct CpusAccel with AccelOpsClass", > > make it a bit more consistent, by naming the files defining > the AccelOpsClass types "...-accel-ops.c" instead of the old > naming "...-cpus.c". > > * in "cpu: move cc->transaction_failed to tcg_ops", > > protect with CONFIG_TCG the use of tcg_ops for hw/misc/jazz.c, > > #include "exec/memattrs.h" (Philippe, Eduardo) > > * in "cpu: Move synchronize_from_tb() to tcg_ops", > > #include "hw/core/cpu.h" (Philippe, Eduardo) > > do not remove the comment about struct TcgCpuOperations (Philippe) > > * in "accel/tcg: split TCG-only code from cpu_exec_realizefn", > > invert tcg_target_initialized set order (Alex) > > * in "i386: move TCG cpu class initialization out of helper.c", > > extract helper-tcg.h, tcg-cpu.c, and tcg-cpu.h directly into > tcg/, avoiding the extra move later to tcg/ (Alex) > ...
> Claudio Fontana (23): > accel/tcg: split CpusAccel into three TCG variants > accel/tcg: split tcg_start_vcpu_thread > accel/tcg: rename tcg-cpus functions to match module name > i386: move kvm accel files into kvm/ > i386: move whpx accel files into whpx/ > i386: move hax accel files into hax/ > i386: hvf: remove stale MAINTAINERS entry for old hvf stubs > i386: move TCG accel files into tcg/ > i386: move cpu dump out of helper.c into cpu-dump.c > i386: move TCG cpu class initialization out of helper.c > target/riscv: remove CONFIG_TCG, as it is always TCG > accel/tcg: split TCG-only code from cpu_exec_realizefn > target/arm: do not use cc->do_interrupt for KVM directly > cpu: move cc->do_interrupt to tcg_ops > cpu: move cc->transaction_failed to tcg_ops > cpu: move do_unaligned_access to tcg_ops To be honest this is a lot to digest... I'd split your series in 2, the first part until here, almost ready; And this second part, the accel refactor: > accel: extend AccelState and AccelClass to user-mode > accel: replace struct CpusAccel with AccelOpsClass > accel: introduce AccelCPUClass extending CPUClass > i386: split cpu accelerators from cpu.c, using AccelCPUClass > cpu: call AccelCPUClass::cpu_realizefn in cpu_exec_realizefn > hw/core/cpu: call qemu_init_vcpu in cpu_common_realizefn > cpu: introduce cpu_accel_instance_init