vgic_v3_dispatch_sgi(9)
β¨ vgic_v3_dispatch_sgi β¨
okay so bestie, welcome to the vgic_v3_dispatch_sgi page β it's a kernel API manual page (section 9), and it's literally all about handling SGI requests from VCPUs. no cap, that's the whole NAME vibe: handle SGI requests from VCPUs. π
πΈ SYNOPSIS πΈ
void vgic_v3_dispatch_sgi (struct kvm_vcpu *vcpu , u64 reg , bool
allow_group1 );
that's the whole signature, bestie β it returns void, so like, it does the thing and dips. π
π¦ ARGUMENTS π¦
vcpuβ the VCPU that's out here requesting a SGI. main character energy, honestly. πregβ the value that got written intoICC_{ASGI1,SGI0,SGI1}Rby that VCPU. so like, whatever they scribbled into the sysreg, this is it. πallow_group1β does the sysreg access allow generation of G1 SGIs? yes/no bestie, that's the whole question. π
π DESCRIPTION π
so with GICv3 (and ARE=1), CPUs trigger SGIs by writing to a system register. that write will trap in sys_regs.c and call this function β like, "hi, someone touched the sysreg, come deal with it." π
this ICC_SGI1R_EL1 register contains the upper three affinity levels of the target processors as well as a bitmask of 16 Aff0 CPUs. both. at once. iconic. β¨
now, the branching, because of course there's branching:
- if the interrupt routing mode bit is not set, we iterate over the
Aff0bits and signal the VCPUs matching the providedAff{3,2,1}. one by one, cute little loop, slay. π - if this bit is set, we signal all, but not the calling VCPU. like, everybody gets an invite except the one who sent them. sorry babes. π
fr fr, that second case means the caller never signals itself β that's just how it is, don't come for me.
π«Ά SEE ALSO π«Ά
- Kernel file
./arch/arm64/kvm/vgic/vgic-mmio-v3.c vgic_register_redist_iodev(9),vgic_v3_alloc_redist_region(9)
go read those too, they're lowkey required reading. π
and that's the page, bestie! π this one lives at ./arch/arm64/kvm/vgic, dated October 2026, and it's vgic_v3_dispatch_sgi(9) all the way down. mwah, study safe, and remember: every single option stays, only the vibe changes ππ§
π¦ 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