mbox series

[v2,00/21] softmmu: Make various objects target agnostic

Message ID 20220203191814.45023-1-f4bug@amsat.org (mailing list archive)
Headers show
Series softmmu: Make various objects target agnostic | expand

Message

Philippe Mathieu-Daudé Feb. 3, 2022, 7:17 p.m. UTC
This is a re-org accel/ and softmmu/ to have more target-agnostic
objects.

Since RFC:
- Rework accel/meson (Richard)
- Use vaddr in cpu_memory_rw_debug (Richard)
- Introduce CONFIG_HAX_IS_POSSIBLE (Richard)
- Introduce AccelOpsClass::cpu_thread_is_idle (Richard)
- Introduce AccelOpsClass::cpus_are_resettable (Richard)
- Add qemu_init_arch_modules (new)

Philippe Mathieu-Daudé (21):
  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/runstate: Clean 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

 accel/kvm/kvm-accel-ops.c         | 12 ++++++++++
 accel/meson.build                 | 12 ++++++----
 accel/qtest/qtest.c               |  1 -
 accel/stubs/hax-stub.c            |  2 ++
 accel/stubs/kvm-stub.c            |  5 ----
 accel/stubs/meson.build           | 11 +++++----
 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                             |  6 ++---
 include/exec/cpu-all.h            |  4 ----
 include/exec/cpu-common.h         | 39 +++++++++++++++++++++++++++++++
 include/exec/exec-all.h           | 26 ---------------------
 include/exec/gdbstub.h            | 23 +++++++++---------
 include/hw/core/cpu.h             | 13 +----------
 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 ++--
 softmmu/arch_init.c               |  9 +++++++
 softmmu/cpu-timers.c              |  1 -
 softmmu/cpus.c                    | 23 +++++++++++-------
 softmmu/globals.c                 |  2 --
 softmmu/memory_mapping.c          |  1 +
 softmmu/meson.build               | 24 +++++++++----------
 softmmu/physmem.c                 |  7 +++---
 softmmu/runstate.c                |  2 +-
 softmmu/vl.c                      |  5 +---
 target/alpha/translate.c          |  1 -
 target/i386/hax/hax-all.c         |  7 +-----
 target/i386/whpx/whpx-accel-ops.c |  6 +++++
 target/riscv/csr.c                |  1 +
 tests/unit/ptimer-test-stubs.c    |  1 -
 36 files changed, 158 insertions(+), 129 deletions(-)

Comments

Paolo Bonzini Feb. 4, 2022, 12:21 p.m. UTC | #1
On 2/3/22 20:17, Philippe Mathieu-Daudé via wrote:
> This is a re-org accel/ and softmmu/ to have more target-agnostic
> objects.

Neat!  vl.c in particular bothered me.

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>

Paolo

> Since RFC:
> - Rework accel/meson (Richard)
> - Use vaddr in cpu_memory_rw_debug (Richard)
> - Introduce CONFIG_HAX_IS_POSSIBLE (Richard)
> - Introduce AccelOpsClass::cpu_thread_is_idle (Richard)
> - Introduce AccelOpsClass::cpus_are_resettable (Richard)
> - Add qemu_init_arch_modules (new)
> 
> Philippe Mathieu-Daudé (21):
>    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/runstate: Clean 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
> 
>   accel/kvm/kvm-accel-ops.c         | 12 ++++++++++
>   accel/meson.build                 | 12 ++++++----
>   accel/qtest/qtest.c               |  1 -
>   accel/stubs/hax-stub.c            |  2 ++
>   accel/stubs/kvm-stub.c            |  5 ----
>   accel/stubs/meson.build           | 11 +++++----
>   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                             |  6 ++---
>   include/exec/cpu-all.h            |  4 ----
>   include/exec/cpu-common.h         | 39 +++++++++++++++++++++++++++++++
>   include/exec/exec-all.h           | 26 ---------------------
>   include/exec/gdbstub.h            | 23 +++++++++---------
>   include/hw/core/cpu.h             | 13 +----------
>   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 ++--
>   softmmu/arch_init.c               |  9 +++++++
>   softmmu/cpu-timers.c              |  1 -
>   softmmu/cpus.c                    | 23 +++++++++++-------
>   softmmu/globals.c                 |  2 --
>   softmmu/memory_mapping.c          |  1 +
>   softmmu/meson.build               | 24 +++++++++----------
>   softmmu/physmem.c                 |  7 +++---
>   softmmu/runstate.c                |  2 +-
>   softmmu/vl.c                      |  5 +---
>   target/alpha/translate.c          |  1 -
>   target/i386/hax/hax-all.c         |  7 +-----
>   target/i386/whpx/whpx-accel-ops.c |  6 +++++
>   target/riscv/csr.c                |  1 +
>   tests/unit/ptimer-test-stubs.c    |  1 -
>   36 files changed, 158 insertions(+), 129 deletions(-)
>