OSDN Git Service

KVM: arm64: Enable ring-based dirty memory tracking
authorGavin Shan <gshan@redhat.com>
Thu, 10 Nov 2022 10:49:11 +0000 (18:49 +0800)
committerMarc Zyngier <maz@kernel.org>
Thu, 10 Nov 2022 13:11:58 +0000 (13:11 +0000)
commit9cb1096f8590bc590326087bea65db932b53c3b5
treeab6bd51ad3e1efc6f32a69a53e603c96a44d68ad
parent86bdf3ebcfe1ded055282536fecce13001874740
KVM: arm64: Enable ring-based dirty memory tracking

Enable ring-based dirty memory tracking on ARM64:

  - Enable CONFIG_HAVE_KVM_DIRTY_RING_ACQ_REL.

  - Enable CONFIG_NEED_KVM_DIRTY_RING_WITH_BITMAP.

  - Set KVM_DIRTY_LOG_PAGE_OFFSET for the ring buffer's physical page
    offset.

  - Add ARM64 specific kvm_arch_allow_write_without_running_vcpu() to
    keep the site of saving vgic/its tables out of the no-running-vcpu
    radar.

Signed-off-by: Gavin Shan <gshan@redhat.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20221110104914.31280-5-gshan@redhat.com
Documentation/virt/kvm/api.rst
arch/arm64/include/uapi/asm/kvm.h
arch/arm64/kvm/Kconfig
arch/arm64/kvm/arm.c
arch/arm64/kvm/vgic/vgic-its.c
include/kvm/arm_vgic.h