| # MSI |
| |
| ## NAME |
| |
| msi - Message Signaled Interrupt |
| |
| ## SYNOPSIS |
| |
| Messaged Signaled Interrupts are used in modern PCI as well as |
| some ARM GIC controllers. MSI objects allow a privileged userspace |
| process to allocate a range of MSIs and associated IRQ vectors for |
| use with device drivers to allocate [`interrupt`] objects. |
| |
| ## DESCRIPTION |
| |
| The most common use for an MSI object is to allocate a range of MSIs |
| to provide to a PCI device's Message Signaled Interrupt Capability. |
| Subsequently, the platform or PCI bus driver may use this object to |
| allocate [`interrupt`] objects corresponding to those MSIs for use |
| in downstream device drivers. |
| |
| ## SYSCALLS |
| |
| - [`zx_msi_allocate()`] - allocate a range of message-signaled interrupts |
| - [`zx_msi_create()`] - create a message-signaled interrupt object |
| |
| [`interrupt`]: /docs/reference/kernel_objects/interrupts.md |
| [`zx_msi_allocate()`]: /reference/syscalls/msi_allocate.md |
| [`zx_msi_create()`]: /reference/syscalls/msi_create.md |