ENUM GMAP_FLAGS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ enum gmap_flags β€” flags of a gmap ✨

okay so this is from the Kernel API Manual, bestie β€” like the official docs, but make it make sense πŸ’…


🌸 NAME 🌸

enum gmap_flags β€” the flags of a gmap. literally just the vibe-check bitfield for a gmap, no cap πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

enum gmap_flags {
    GMAP_FLAG_SHADOW ,
    GMAP_FLAG_OWNS_PAGETABLES ,
    GMAP_FLAG_IS_UCONTROL ,
    GMAP_FLAG_ALLOW_HPAGE_1M ,
    GMAP_FLAG_ALLOW_HPAGE_2G ,
    GMAP_FLAG_PFAULT_ENABLED ,
    GMAP_FLAG_USES_SKEYS ,
    GMAP_FLAG_USES_CMM ,
    GMAP_FLAG_EXPORT_ON_UNMAP

};

like, that's the whole enum, nine constants, all capitalised, all iconic πŸ‘‘


πŸ’– Constants πŸ’–

  • GMAP_FLAG_SHADOW β€” this gmap is a vsie shadow gmap. yes babes, it's giving shadow 🌈
  • GMAP_FLAG_OWNS_PAGETABLES β€” the gmap owns, like, all the dat levels πŸ’… normally this is 1. it's 0 only for ucontrol per-cpu gmaps, because those share their page tables with the main gmap β€” roomies, basically 🫢
  • GMAP_FLAG_IS_UCONTROL β€” the gmap is ucontrol (so, the main gmap or a per-cpu gmap) ✨
  • GMAP_FLAG_ALLOW_HPAGE_1M β€” 1M hugepages are allowed for this gmap, and that's independently of the page size userspace is using. it's giving main character energy, not follower energy 😌
  • GMAP_FLAG_ALLOW_HPAGE_2G β€” same deal but 2G: 2G hugepages are allowed for this gmap, independently of the page size used by userspace. big pages, big slay πŸ”₯
  • GMAP_FLAG_PFAULT_ENABLED β€” pfault is enabled for the gmap ⭐
  • GMAP_FLAG_USES_SKEYS β€” set if the guest uses storage keys πŸ”‘
  • GMAP_FLAG_USES_CMM β€” whether the guest uses CMMA 🧚
  • GMAP_FLAG_EXPORT_ON_UNMAP β€” whether to export guest pages when unmapping. like packing your bags on the way out πŸŽ€

πŸ‘‘ SEE ALSO πŸ‘‘

Kernel file ./arch/s390/kvm/gmap/gmap.h pte_needs_unshadow(9), crste_needs_unshadow(9), gmap_is_shadow_valid(9) β€” go read these next, iykyk πŸ“šπŸ’œ


ngl bestie, the whole thing lives over in ./arch/s390/kvm/gmap β€” that's the source, and the version's stamped October 2026. periodt. πŸ’€πŸ«ΆπŸ’–
πŸ“¦ where this page comes from