kvm_vgic_inject_irq(9)
πΈ NAME πΈ
okay so welcome to kvm_vgic_inject_irq(9) from the Kernel API Manual β she injects an IRQ from a device to the vgic, and honestly? iconic. β¨
β¨ SYNOPSIS β¨
int kvm_vgic_inject_irq (struct kvm *kvm , struct kvm_vcpu *vcpu ,
unsigned int intid , bool level , void *owner );
π ARGUMENTS π
okay so the cast, bestie:
kvmβ the VM structure pointer. main character VM energy. πvcpuβ the CPU for PPIs, orNULLfor global interrupts. iykyk.intidβ the INTID to inject a new state to. yes bestie, literally that. π―levelβ okay so this one has two modes, pay attention: Edge-triggered:true: to trigger the interrupt;false: to ignore the call. Level-sensitive:true: raise the input signal;false: lower the input signal. this is the whole plot. ποΈownerβ the opaque pointer to the owner of the IRQ being raised, to verify that the caller is allowed to inject this IRQ. Userspace injections will haveowner == NULL. permission check slay. π
π¦ DESCRIPTION π¦
The VGIC is not concerned with devices being active-LOW or active-HIGH for level-sensitive interrupts. You can think of the level parameter as 1 being HIGH and 0 being LOW, and all devices being active-HIGH. that's the vibe, that's the lore. π
π SEE ALSO π
- Kernel file
./arch/arm64/kvm/vgic/vgic.cβ yes, that exact path, go read it bestie. π vgic_target_oracle(9)β linked.kvm_vgic_reset_mapped_irq(9)β also linked.kvm_vgic_set_owner(9)β also linked.vgic_prune_ap_list(9)β also linked.
mwah π β source/version: ./arch/arm64/kvm/vgic, date: October 2026. periodt, bye bestie! π«Ά
π¦ 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