总结
跳出 vCPU,使其停止执行。
声明
#include <zircon/syscalls.h>
zx_status_t zx_vcpu_kick(zx_handle_t handle);
说明
zx_vcpu_kick()
会强制 handle 上的当前执行或下一次执行的 zx_vcpu_enter()
立即返回并显示 ZX_ERR_CANCELED
。
系统可能会对 handle 多次调用 zx_vcpu_kick()
,但这只会影响 zx_vcpu_enter()
的当前执行或下次执行。
权限
handle 必须为 ZX_OBJ_TYPE_VCPU
类型,且具有 ZX_RIGHT_EXECUTE
。
返回值
zx_vcpu_kick()
会在成功时返回 ZX_OK
。如果失败,则返回错误值。
错误
ZX_ERR_ACCESS_DENIED
标识名没有 ZX_RIGHT_EXECUTE
权限。
ZX_ERR_BAD_HANDLE
句柄是无效的句柄。
ZX_ERR_WRONG_TYPE
handle 不是 vCPU 的句柄。
另请参阅
zx_guest_create()
zx_guest_set_trap()
zx_vcpu_create()
zx_vcpu_enter()
zx_vcpu_interrupt()
zx_vcpu_read_state()
zx_vcpu_write_state()