zx_interrupt_bind_vcpu

SUMMARY

Bind an interrupt object to a VCPU.

DECLARATION

#include <zircon/syscalls.h>

zx_status_t zx_interrupt_bind_vcpu(zx_handle_t handle,
                                   zx_handle_t vcpu,
                                   uint32_t options);

DESCRIPTION

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.

RIGHTS

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.

RETURN VALUE

zx_interrupt_bind_vcpu() returns ZX_OK on success. On failure, an error value is returned.

ERRORS

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_ERR_CANCELED zx_interrupt_destroy() was called on handle.

ZX_ERR_BAD_STATE a thread is waiting on the interrupt using zx_interrupt_wait().

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 vcpu or to a port.

ZX_ERR_INVALID_ARGS vcpu is bound to a different guest than previously bound VCPUs, or options is non-zero.

SEE ALSO