[PATCH v3 00/19] riscv: split TCG/KVM accelerators from cpu.c

Daniel Henrique Barboza posted 19 patches 7 months, 2 weeks ago
Failed in applying to current master (apply log)
There is a newer version of this series
hw/intc/riscv_aplic.c                 |   2 +-
hw/riscv/virt.c                       |   2 +-
target/riscv/cpu.c                    | 988 ++------------------------
target/riscv/cpu.h                    |  30 +-
target/riscv/csr.c                    |   1 +
target/riscv/kvm-stub.c               |  30 -
target/riscv/{kvm.c => kvm/kvm-cpu.c} | 120 +++-
target/riscv/{ => kvm}/kvm_riscv.h    |   4 -
target/riscv/kvm/meson.build          |   1 +
target/riscv/meson.build              |   4 +-
target/riscv/tcg/meson.build          |   2 +
target/riscv/tcg/tcg-cpu.c            | 883 +++++++++++++++++++++++
target/riscv/tcg/tcg-cpu.h            |  27 +
13 files changed, 1113 insertions(+), 981 deletions(-)
delete mode 100644 target/riscv/kvm-stub.c
rename target/riscv/{kvm.c => kvm/kvm-cpu.c} (91%)
rename target/riscv/{ => kvm}/kvm_riscv.h (89%)
create mode 100644 target/riscv/kvm/meson.build
create mode 100644 target/riscv/tcg/meson.build
create mode 100644 target/riscv/tcg/tcg-cpu.c
create mode 100644 target/riscv/tcg/tcg-cpu.h
[PATCH v3 00/19] riscv: split TCG/KVM accelerators from cpu.c
Posted by Daniel Henrique Barboza 7 months, 2 weeks ago
Hi,

In this version we changed patch 10 (remove kvm-stub.c) as suggested by
Phil to not include non-KVM stubs in kvm_riscv.h. A change in patch 05
requested by Zhiwei was also made.

Patches based on Alistair's riscv-to-apply.next.

Patches missing acks: patch 10

Changes from v2:
- patch 05:
  - remove riscv_cpu_add_user_properties() from riscv_host_cpu_init()
- patch 10:
  - do not add non-KVM stubs in kvm_riscv.h
- v2 link: https://lore.kernel.org/qemu-riscv/20230906091647.1667171-1-dbarboza@ventanamicro.com/

Daniel Henrique Barboza (19):
  target/riscv: introduce TCG AccelCPUClass
  target/riscv: move riscv_cpu_realize_tcg() to TCG::cpu_realizefn()
  target/riscv: move riscv_cpu_validate_set_extensions() to tcg-cpu.c
  target/riscv: move riscv_tcg_ops to tcg-cpu.c
  target/riscv/cpu.c: add .instance_post_init()
  target/riscv: move 'host' CPU declaration to kvm.c
  target/riscv/cpu.c: mark extensions arrays as 'const'
  target/riscv: move riscv_cpu_add_kvm_properties() to kvm.c
  target/riscv: make riscv_add_satp_mode_properties() public
  target/riscv: remove kvm-stub.c
  target/riscv: introduce KVM AccelCPUClass
  target/riscv: move KVM only files to kvm subdir
  target/riscv/kvm: do not use riscv_cpu_add_misa_properties()
  target/riscv/cpu.c: export set_misa()
  target/riscv/tcg: introduce tcg_cpu_instance_init()
  target/riscv/cpu.c: make misa_ext_cfgs[] 'const'
  target/riscv/tcg: move riscv_cpu_add_misa_properties() to tcg-cpu.c
  target/riscv/cpu.c: export isa_edata_arr[]
  target/riscv/cpu: move priv spec functions to tcg-cpu.c

 hw/intc/riscv_aplic.c                 |   2 +-
 hw/riscv/virt.c                       |   2 +-
 target/riscv/cpu.c                    | 988 ++------------------------
 target/riscv/cpu.h                    |  30 +-
 target/riscv/csr.c                    |   1 +
 target/riscv/kvm-stub.c               |  30 -
 target/riscv/{kvm.c => kvm/kvm-cpu.c} | 120 +++-
 target/riscv/{ => kvm}/kvm_riscv.h    |   4 -
 target/riscv/kvm/meson.build          |   1 +
 target/riscv/meson.build              |   4 +-
 target/riscv/tcg/meson.build          |   2 +
 target/riscv/tcg/tcg-cpu.c            | 883 +++++++++++++++++++++++
 target/riscv/tcg/tcg-cpu.h            |  27 +
 13 files changed, 1113 insertions(+), 981 deletions(-)
 delete mode 100644 target/riscv/kvm-stub.c
 rename target/riscv/{kvm.c => kvm/kvm-cpu.c} (91%)
 rename target/riscv/{ => kvm}/kvm_riscv.h (89%)
 create mode 100644 target/riscv/kvm/meson.build
 create mode 100644 target/riscv/tcg/meson.build
 create mode 100644 target/riscv/tcg/tcg-cpu.c
 create mode 100644 target/riscv/tcg/tcg-cpu.h

-- 
2.41.0
Re: [PATCH v3 00/19] riscv: split TCG/KVM accelerators from cpu.c
Posted by Alistair Francis 7 months, 1 week ago
On Wed, Sep 20, 2023 at 9:26 PM Daniel Henrique Barboza
<dbarboza@ventanamicro.com> wrote:
>
> Hi,
>
> In this version we changed patch 10 (remove kvm-stub.c) as suggested by
> Phil to not include non-KVM stubs in kvm_riscv.h. A change in patch 05
> requested by Zhiwei was also made.
>
> Patches based on Alistair's riscv-to-apply.next.
>
> Patches missing acks: patch 10
>
> Changes from v2:
> - patch 05:
>   - remove riscv_cpu_add_user_properties() from riscv_host_cpu_init()
> - patch 10:
>   - do not add non-KVM stubs in kvm_riscv.h
> - v2 link: https://lore.kernel.org/qemu-riscv/20230906091647.1667171-1-dbarboza@ventanamicro.com/
>
> Daniel Henrique Barboza (19):
>   target/riscv: introduce TCG AccelCPUClass
>   target/riscv: move riscv_cpu_realize_tcg() to TCG::cpu_realizefn()
>   target/riscv: move riscv_cpu_validate_set_extensions() to tcg-cpu.c
>   target/riscv: move riscv_tcg_ops to tcg-cpu.c
>   target/riscv/cpu.c: add .instance_post_init()
>   target/riscv: move 'host' CPU declaration to kvm.c
>   target/riscv/cpu.c: mark extensions arrays as 'const'
>   target/riscv: move riscv_cpu_add_kvm_properties() to kvm.c
>   target/riscv: make riscv_add_satp_mode_properties() public
>   target/riscv: remove kvm-stub.c
>   target/riscv: introduce KVM AccelCPUClass
>   target/riscv: move KVM only files to kvm subdir
>   target/riscv/kvm: do not use riscv_cpu_add_misa_properties()
>   target/riscv/cpu.c: export set_misa()
>   target/riscv/tcg: introduce tcg_cpu_instance_init()
>   target/riscv/cpu.c: make misa_ext_cfgs[] 'const'
>   target/riscv/tcg: move riscv_cpu_add_misa_properties() to tcg-cpu.c
>   target/riscv/cpu.c: export isa_edata_arr[]
>   target/riscv/cpu: move priv spec functions to tcg-cpu.c

Thanks!

Applied to riscv-to-apply.next

Alistair

>
>  hw/intc/riscv_aplic.c                 |   2 +-
>  hw/riscv/virt.c                       |   2 +-
>  target/riscv/cpu.c                    | 988 ++------------------------
>  target/riscv/cpu.h                    |  30 +-
>  target/riscv/csr.c                    |   1 +
>  target/riscv/kvm-stub.c               |  30 -
>  target/riscv/{kvm.c => kvm/kvm-cpu.c} | 120 +++-
>  target/riscv/{ => kvm}/kvm_riscv.h    |   4 -
>  target/riscv/kvm/meson.build          |   1 +
>  target/riscv/meson.build              |   4 +-
>  target/riscv/tcg/meson.build          |   2 +
>  target/riscv/tcg/tcg-cpu.c            | 883 +++++++++++++++++++++++
>  target/riscv/tcg/tcg-cpu.h            |  27 +
>  13 files changed, 1113 insertions(+), 981 deletions(-)
>  delete mode 100644 target/riscv/kvm-stub.c
>  rename target/riscv/{kvm.c => kvm/kvm-cpu.c} (91%)
>  rename target/riscv/{ => kvm}/kvm_riscv.h (89%)
>  create mode 100644 target/riscv/kvm/meson.build
>  create mode 100644 target/riscv/tcg/meson.build
>  create mode 100644 target/riscv/tcg/tcg-cpu.c
>  create mode 100644 target/riscv/tcg/tcg-cpu.h
>
> --
> 2.41.0
>
>