[PATCH v2 3/4] RISC-V: KVM: Split huge pages during KVM_CLEAR_DIRTY_LOG
wang.yechao255 at zte.com.cn
wang.yechao255 at zte.com.cn
Wed Jun 3 02:58:29 PDT 2026
From: Wang Yechao <wang.yechao255 at zte.com.cn>
Split huge pages on the range specified using KVM_CLEAR_DIRTY_LOG.
And do not split when enabling dirty logging if
KVM_DIRTY_LOG_INITIALLY_SET is set.
Signed-off-by: Wang Yechao <wang.yechao255 at zte.com.cn>
Reviewed-by: Anup Patel <anup at brainfault.org>
---
arch/riscv/kvm/mmu.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/riscv/kvm/mmu.c b/arch/riscv/kvm/mmu.c
index 51bd1db74e1a..d04680687f4a 100644
--- a/arch/riscv/kvm/mmu.c
+++ b/arch/riscv/kvm/mmu.c
@@ -149,6 +149,9 @@ void kvm_arch_mmu_enable_log_dirty_pt_masked(struct kvm *kvm,
kvm_riscv_gstage_init(&gstage, kvm);
kvm_riscv_gstage_wp_range(&gstage, start, end);
+
+ if (kvm_dirty_log_manual_protect_and_init_set(kvm))
+ mmu_split_huge_pages(&gstage, start, end, true);
}
void kvm_arch_sync_dirty_log(struct kvm *kvm, struct kvm_memory_slot *memslot)
--
2.43.5
More information about the kvm-riscv
mailing list