kvm_vgic_create(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– kvm_vgic_create(9) πŸ’–

okay so bestie, welcome to the Kernel API Manual β€” today's main character is kvm_vgic_create, and honestly? she's kind of a big deal πŸŽ€


✨ NAME ✨

kvm_vgic_create β€” the function that gets triggered when the VGIC device gets instantiated by user space, no cap πŸ’…

and like, there are two whole ways that can happen:

  • through the legacy KVM_CREATE_IRQCHIP ioctl (v2 only, queen β€” that's important, don't forget it 🫢)
  • or through the generic KVM_CREATE_DEVICE API ioctl ✨

and then β€” plot twist β€” you find out if it actually worked by checking irqchip_in_kernel(). that's the vibe check fr fr: it tells you if this function succeeded or not πŸ”₯


🌸 SYNOPSIS 🌸

int kvm_vgic_create (struct kvm *kvm , u32 type );

like yes, two args, go off πŸ’œ


πŸ¦‹ ARGUMENTS πŸ¦‹

  • kvm β€” a kvm struct pointer πŸ’« that's literally it, that's the whole description, she's a pointer to the kvm struct and we love her for it
  • type β€” KVM_DEV_TYPE_ARM_VGIC_V[235] ⭐ so you can pass V2, V3, or V5 β€” pick your fighter iykyk

πŸ‘‘ SEE ALSO πŸ‘‘

go read the kernel file ./arch/arm64/kvm/vgic/vgic-init.c bestie, and then these iconic siblings of hers:

the whole friend group, periodt 🌈 🧚


aaaand that's the page!! πŸ’– mwah πŸ’‹ this one came from ./arch/arm64/kvm/vgic β€” she's serving October 2026 energy, kvm_vgic_create(9) forever and always, slay β­πŸŽ€πŸŒΈ

πŸ“¦ where this page comes from