kvm_mmu_split_memory_region(9)
πΈ kvm_mmu_split_memory_region(9) πΈ
okay so bestie, you're reading the Kernel API Manual page for kvm_mmu_split_memory_region β literally the glow-up where stage 2 blocks get split into PAGE_SIZE pages for a memory slot β¨
π NAME π
kvm_mmu_split_memory_region β split the stage 2 blocks into PAGE_SIZE pages for memory slot π
β¨ SYNOPSIS β¨
void kvm_mmu_split_memory_region (struct kvm *kvm , int slot );
like, that's the whole vibe. void return, two args, no drama π
π«Ά ARGUMENTS π«Ά
kvmβ The KVM pointer π (the main character, obviously)slotβ The memory slot to split πͺ (this is the one getting the makeover)
π₯ DESCRIPTION π₯
So what actually goes down: it acquires kvm->mmu_lock π β no cap, that lock is taken.
And here's the tea π: this whole thing is called with the kvm->slots_lock mutex already acquired, which is what serializes operations for VM memory regions. iykyk β don't be out here calling it without that mutex held, fr fr π
π¦ SEE ALSO π¦
Kernel file ./arch/arm64/kvm/mmu.c β and the whole friend group π:
kvm_arch_flush_remote_tlbs(9)__unmap_stage2_range(9)stage2_flush_vm(9)free_hyp_pgds(9)create_hyp_mappings(9)hyp_alloc_private_va_range(9)create_hyp_io_mappings(9)create_hyp_exec_mappings(9)kvm_init_stage2_mmu(9)stage2_unmap_vm(9)kvm_phys_addr_ioremap(9)kvm_stage2_wp_range(9)kvm_mmu_wp_memory_region(9)kvm_handle_guest_abort(9)
and that's the page, bestie π§π this came straight out of ./arch/arm64/kvm, dated October 2026, and it's the kvm_mmu_split_memory_region(9) manual β go split some blocks, periodt π
β
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms