hcall_assign_pcidev(9)
β¨ hcall_assign_pcidev β Kernel API Manual, section 9 β¨
Okay so bestie, welcome to the glow-up of hcall_assign_pcidev(9) π
β it's a page straight out of the Kernel API Manual, and it's literally about handing a whole PCI device over to a User VM. Main character hypercall energy, no cap.
π NAME π
hcall_assign_pcidev β assign a PCI device to a User VM π«Ά
β¨ SYNOPSIS β¨
long hcall_assign_pcidev (u64 vmid , u64 addr );
That's it. Two args, one long. Iconic. πΈ
π¦ ARGUMENTS π¦
vmidβ the User VM ID π·οΈ β like, which User VM are we doing this for, bestie?addrβ the Service VM GPA of thestruct acrn_pcidevπ β yes, a guest physical address pointing at that struct, she's fancy like that.
β RETURN β
0on success π<0on failure π (not her best moment, but ok)
π SEE ALSO π
Kernel file ./drivers/virt/acrn/hypercall.h β and honestly the whole hypercall friend group showed up, so let's give them their moment π:
hcall_sos_remove_cpu(9)hcall_create_vm(9)hcall_start_vm(9)hcall_pause_vm(9)hcall_destroy_vm(9)hcall_reset_vm(9)hcall_set_vcpu_regs(9)hcall_inject_msi(9)hcall_vm_intr_monitor(9)hcall_set_irqline(9)hcall_set_ioreq_buffer(9)hcall_notify_req_finish(9)hcall_set_memory_regions(9)hcall_create_vdev(9)hcall_destroy_vdev(9)hcall_assign_mmiodev(9)hcall_deassign_mmiodev(9)hcall_deassign_pcidev(9)hcall_set_ptdev_intr(9)hcall_reset_ptdev_intr(9)
ngl, hcall_deassign_pcidev(9) is literally this one's other half β assign her, deassign her, the circle of life π¦
and that's the whole page, bestie β go assign some PCI devices, slay π β¨
Comin' at you from ./drivers/virt/acrn, dated October 2026 β hcall_assign_pcidev(9), signing off ππ
π¦ 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