总结
在 vCPU 上引发中断。
声明
#include <zircon/syscalls.h>
zx_status_t zx_vcpu_interrupt(zx_handle_t handle, uint32_t vector);
说明
zx_vcpu_interrupt()
会在 handle 上引发 vector 的中断,该功能可从任何线程调用。
权限
handle 必须为 ZX_OBJ_TYPE_VCPU
类型,且具有 ZX_RIGHT_SIGNAL
。
返回值
zx_vcpu_interrupt()
会在成功时返回 ZX_OK
。如果失败,则返回错误值。
错误
ZX_ERR_ACCESS_DENIED
标识名没有 ZX_RIGHT_SIGNAL
权限。
ZX_ERR_BAD_HANDLE
句柄是无效的句柄。
ZX_ERR_OUT_OF_RANGE
矢量超出了当前架构支持的中断范围。
ZX_ERR_WRONG_TYPE
handle 不是 vCPU 的句柄。
另请参阅
zx_guest_create()
zx_guest_set_trap()
zx_vcpu_create()
zx_vcpu_enter()
zx_vcpu_kick()
zx_vcpu_read_state()
zx_vcpu_write_state()