kvm_pgtable_walk(9)
π¦ NAME π¦
kvm_pgtable_walk β walk a page-table. Thatβs the whole name, bestie. And yes, this is the kvm_pgtable_walk(9) page from the Kernel API Manual, so youβre in the right group chat. π«Ά Page-table walker core, main character energy.
β¨ SYNOPSIS β¨
int kvm_pgtable_walk (struct kvm_pgtable *pgt , u64 addr , u64 size ,
struct kvm_pgtable_walker *walker );
π ARGUMENTS π
pgtβ Page-table structure initialised bykvm_pgtable_*_init.addrβ input address for the start of the walk.sizeβ size of the range to walk.walkerβ walker callback description.
π DESCRIPTION π
First vibe check: the offset of addr within a page is ignored, and size is rounded-up to the next page boundary. No cap. β¨
The walker will walk the page-table entries corresponding to the input address range specified, visiting entries according to the walker flags. Invalid entries are treated as leaf entries. The visited page table entry is reloaded after invoking the walker callback, allowing the walker to descend into a newly installed table. Thatβs the whole slay. π¦
Returning a negative error code from the walker callback function will terminate the walk immediately with the same error code. Immediate immediate. π No extra steps, no tiny side quest.
π RETURN π
0 on success, negative error code on failure. Periodt. β
π SEE ALSO π
- Kernel file
./arch/arm64/include/asm/kvm_pgtable.hβ go read it, iykyk. struct kvm_pgtable_mm_ops(9)enum kvm_pgtable_stage2_flags(9)enum kvm_pgtable_prot(9)enum kvm_pgtable_walk_flags(9)struct kvm_pgtable_walker(9)struct kvm_pgtable(9)kvm_pgtable_hyp_init(9)kvm_pgtable_hyp_destroy(9)kvm_pgtable_hyp_map(9)kvm_pgtable_hyp_unmap(9)kvm_get_vtcr(9)kvm_pgtable_stage2_pgd_size(9)__kvm_pgtable_stage2_init(9)kvm_pgtable_stage2_destroy(9)kvm_pgtable_stage2_destroy_range(9)kvm_pgtable_stage2_destroy_pgd(9)kvm_pgtable_stage2_free_unlinked(9)kvm_pgtable_stage2_create_unlinked(9)kvm_pgtable_stage2_map(9)kvm_pgtable_stage2_annotate(9)kvm_pgtable_stage2_unmap(9)kvm_pgtable_stage2_wrprotect(9)kvm_pgtable_stage2_mkyoung(9)kvm_pgtable_stage2_test_clear_young(9)kvm_pgtable_stage2_relax_perms(9)kvm_pgtable_stage2_split(9)kvm_pgtable_get_leaf(9)kvm_pgtable_stage2_pte_prot(9)kvm_pgtable_hyp_pte_prot(9)kvm_tlb_flush_vmid_range(9)
okay thatβs the page, bestie! source/version: ./arch/arm64/include/asm β date: October 2026. mwah ππ
π¦ 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