gmap_ucas_translate(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… gmap_ucas_translate(9) β€” a Kernel API Manual moment πŸŽ€

okay bestie, so this is gmap_ucas_translate(9) from the Kernel API Manual and it's literally the little translator fairy you didn't know you needed 🧚✨


✨ NAME ✨

gmap_ucas_translate β€” translate a vcpu address into a host gmap address πŸ¦‹


🌸 SYNOPSIS 🌸

int gmap_ucas_translate (struct kvm_s390_mmu_cache *mc , struct gmap
*gmap , gpa_t *gaddr );

like, that's the whole signature, no cap πŸ’…


πŸ’– ARGUMENTS πŸ’–

  • mc β€” the memory cache to be used for allocations. that's its whole job, it's giving "supporting character who handles the malloc vibes" 🫢
  • gmap β€” the per-cpu gmap. yes, per-cpu, she's not a global girlie πŸ’…
  • gaddr β€” pointer to the address to be translated, and it will get overwritten with the translated address in case of success πŸ”₯ fr fr, it translates the per-vCPU guest address into a fake guest address, which can then be used with the fake memslots that are identity mapping userspace. and the way that's iconic? it allows ucontrol VMs to use the normal fault resolution path, like normal VMs πŸ‘‘πŸ’€

⭐ RETURN ⭐

0 in case of success, otherwise -EREMOTE 😭 (yes, -EREMOTE, she's dramatic like that)


🌈 SEE ALSO 🌈

kernel file ./arch/s390/kvm/gmap/gmap.c and the whole friend group: gmap_new(9), gmap_dispose(9), s390_replace_asce(9), gmap_age_gfn(9), gmap_unmap_gfn_range(9), gmap_try_fixup_minor(9), gmap_2g_allowed(9), gmap_1m_allowed(9), gmap_find_shadow(9), gmap_create_shadow(9) πŸŽ€


bestie heads up: failure gives you -EREMOTE, not a generic -EINVAL situation, so don't go assuming πŸ’…

okay that's the whole page, mwah πŸ’‹ this one lives in ./arch/s390/kvm/gmap and the date on it is October 2026 β€” a lil sign-off from the future, slay β­πŸŒΈπŸ’œ

πŸ“¦ where this page comes from