kvm_mips_mkclean_gpa_pt(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ¦‹ kvm_mips_mkclean_gpa_pt(9) β€” the Kernel API Manual moment πŸ¦‹

okay so bestie, we're in the kvm_mips_mkclean_gpa_pt(9) page rn, and it's literally about making guest physical addresses clean ✨ like yes we're doing laundry for memory, periodt.


πŸ’… NAME πŸ’…

kvm_mips_mkclean_gpa_pt β€” Make a range of guest physical addresses clean.

no cap, that's the whole vibe. a whole range of GPAs, freshly laundered 🧺


✨ SYNOPSIS ✨

int kvm_mips_mkclean_gpa_pt (struct kvm *kvm , gfn_t start_gfn , gfn_t end_gfn );

it's giving "one function, three arguments, zero chill" πŸ’€


πŸŽ€ ARGUMENTS πŸŽ€

  • kvm β€” the KVM pointer. your main character struct, the whole reason we're here 🫢
  • start_gfn β€” the guest frame number of the first page in the GPA range we're flushing. where the party starts πŸŽ‰
  • end_gfn β€” the guest frame number of the last page in the GPA range we're flushing. where the party ends, sadly 😭

like, inclusive range energy. start_gfn to end_gfn, that's the assignment πŸ”₯


🌸 DESCRIPTION 🌸

so what does it actually do?? it makes a range of GPA mappings clean so that guest writes will fault and trigger dirty page logging. like, intentionally making them fault. iconic behavior honestly πŸ‘‘

⚠️ the caller must hold the kvm->mmu_lock spinlock. not optional, bestie. not "if you feel like it". HOLD. THE. LOCK. πŸ”’ this is the no-cap rule of the whole page.

⭐ RETURN ⭐

it returns whether any GPA mappings were modified β€” and like, that matters because it means derived mappings (that's GVA page tables & TLB enties πŸ‘€) need to be invalidated. so yeah, true-ish means "girl go invalidate things" πŸ’…

(also yes, the original page says "enties". we're respecting the typo, it's canon now πŸŽ€)


🌈 SEE ALSO 🌈

whole friend group fr fr 🫢 read them all, iykyk


and that's the page!! 🌸 mwah πŸ’– source: ./arch/mips/kvm, dated October 2026, and we're signing off from kvm_mips_mkclean_gpa_pt(9) β€” stay clean, stay locked, stay slaying βœ¨πŸ’…πŸ¦‹

πŸ“¦ where this page comes from