[PATCH v3 0/9] target/riscv/kvm: CSR related fixes

Daniel Henrique Barboza posted 9 patches 6 months, 3 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20250425160203.2774835-1-dbarboza@ventanamicro.com
Maintainers: Palmer Dabbelt <palmer@dabbelt.com>, Alistair Francis <alistair.francis@wdc.com>, Weiwei Li <liwei1518@gmail.com>, Daniel Henrique Barboza <dbarboza@ventanamicro.com>, Liu Zhiwei <zhiwei_liu@linux.alibaba.com>
There is a newer version of this series
target/riscv/cpu.h         |  10 +-
target/riscv/kvm/kvm-cpu.c | 331 +++++++++++++++++++++++--------------
target/riscv/machine.c     |   6 +-
3 files changed, 221 insertions(+), 126 deletions(-)
[PATCH v3 0/9] target/riscv/kvm: CSR related fixes
Posted by Daniel Henrique Barboza 6 months, 3 weeks ago
Hi,

In this version, aside from minor adjustments suggested by Drew in v2,
the most relevant change made is left mcounteren untouched in patch
8. We're just changing scounteren to target_ulong as required by KVM.

Patches based on alistair/riscv-to-apply.next with a KVM build fix [1]. 

Patches missing review/acks: patch 8.

Changes from v2:
- patch 2:
  - changed 'g+malloc' to 'g-malloc' in the commit msg
- patch 3:
  - changed commit subject: sed s/in/into/
- patch 4:
  - changed commit subject: sed s/in/into/
- patch 5:
  - kvm_cpu_csr_get_u32() now returns an uint32_t (for real this time)
  - tabulate kvm_csrs_cfg[]
- patch 6: 
  - mention kvm_riscv_init_cfg() in commit msg
- patch 8:
  - added comment explaning why we're changing scounteren
  - left mcounteren untouched
- patch 9:
  - add scounteren in the same order as it is shown in kvm_riscv_csr
- v2 link: https://lore.kernel.org/qemu-riscv/20250425113705.2741457-1-dbarboza@ventanamicro.com/

[1] https://lore.kernel.org/qemu-devel/8f3bae37-e1f3-4e55-9dc6-b7876992b47e@ventanamicro.com/

Daniel Henrique Barboza (9):
  target/riscv/kvm: minor fixes/tweaks
  target/riscv/kvm: fix leak in kvm_riscv_init_multiext_cfg()
  target/riscv/kvm: turn u32/u64 reg functions into macros
  target/riscv/kvm: turn kvm_riscv_reg_id_ulong() into a macro
  target/riscv/kvm: add kvm_csr_cfgs[]
  target/riscv/kvm: do not read unavailable CSRs
  target/riscv/kvm: add senvcfg CSR
  target/riscv: widen scounteren to target_ulong
  target/riscv/kvm: add scounteren CSR

 target/riscv/cpu.h         |  10 +-
 target/riscv/kvm/kvm-cpu.c | 331 +++++++++++++++++++++++--------------
 target/riscv/machine.c     |   6 +-
 3 files changed, 221 insertions(+), 126 deletions(-)

-- 
2.49.0