Bind an interrupt object to a VCPU.
#include <zircon/syscalls.h> zx_status_t zx_interrupt_bind_vcpu(zx_handle_t handle, zx_handle_t vcpu, uint32_t options);
zx_interrupt_bind_vcpu() binds an interrupt object to a VCPU. When the
interrupt object is triggered, the interrupt is redirected to the VCPU, in order
to be processed by a guest with no host intervention.
An interrupt object may be bound to multiple VCPUs, in order to distribute the
interrupt. Simply invoke
zx_interrupt_bind_vcpu() with the same handle, but
different vcpus. However, all VCPUs must belong to a single guest.
handle must be of type ZX_OBJ_TYPE_INTERRUPT and have ZX_RIGHT_READ.
vcpu must be of type ZX_OBJ_TYPE_VCPU and have ZX_RIGHT_WRITE.
zx_interrupt_bind_vcpu() returns ZX_OK on success. On failure, an error value
ZX_ERR_BAD_HANDLE handle or vcpu are not valid handles.
ZX_ERR_WRONG_TYPE handle is not an interrupt object or vcpu is not a VCPU.
zx_interrupt_destroy() was called on handle.
ZX_ERR_BAD_STATE a thread is waiting on the interrupt using
ZX_ERR_ACCESS_DENIED handle lacks ZX_RIGHT_READ or vcpu lacks ZX_RIGHT_WRITE.
ZX_ERR_ALREADY_BOUND handle is already bound to another guest or to a port.
ZX_ERR_INVALID_ARGS vcpu is bound to a different guest than previously bound VCPUs, or options is non-zero.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2019-11-21.