]> git.ipfire.org Git - thirdparty/linux.git/commit
RISC-V: KVM: Enable ring-based dirty memory tracking
authorQuan Zhou <zhouquan@iscas.ac.cn>
Fri, 13 Jun 2025 11:29:57 +0000 (19:29 +0800)
committerAnup Patel <anup@brainfault.org>
Mon, 28 Jul 2025 16:58:22 +0000 (22:28 +0530)
commitf55ffaf89636877c269ca28399b30d48898c62f3
tree9ca21e08ae79b04fff4242b4c3d532f59f1a96c3
parent7826c8f37220daabf90c09fcd9a835d6763f1372
RISC-V: KVM: Enable ring-based dirty memory tracking

Enable ring-based dirty memory tracking on riscv:

- Enable CONFIG_HAVE_KVM_DIRTY_RING_ACQ_REL as riscv is weakly
  ordered.
- Set KVM_DIRTY_LOG_PAGE_OFFSET for the ring buffer's physical page
  offset.
- Add a check to kvm_vcpu_kvm_riscv_check_vcpu_requests for checking
  whether the dirty ring is soft full.

To handle vCPU requests that cause exits to userspace, modified the
`kvm_riscv_check_vcpu_requests` to return a value (currently only
returns 0 or 1).

Signed-off-by: Quan Zhou <zhouquan@iscas.ac.cn>
Reviewed-by: Anup Patel <anup@brainfault.org>
Link: https://lore.kernel.org/r/20e116efb1f7aff211dd8e3cf8990c5521ed5f34.1749810735.git.zhouquan@iscas.ac.cn
Signed-off-by: Anup Patel <anup@brainfault.org>
Documentation/virt/kvm/api.rst
arch/riscv/include/uapi/asm/kvm.h
arch/riscv/kvm/Kconfig
arch/riscv/kvm/vcpu.c