blob: 96ab65cbc8779eeef24cf9b5b29961d8058ad756 [file] [log] [blame] [view]
# 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()`]: /docs/reference/syscalls/msi_allocate.md
[`zx_msi_create()`]: /docs/reference/syscalls/msi_create.md