zx_vcpu_write_state
名称
vcpu_write_state —— 写入VCPU的状态
概要
#include <zircon/syscalls.h>
#include <zircon/syscalls/hypervisor.h>
zx_status_t zx_vcpu_write_state(zx_handle_t vcpu, uint32_t kind,
const void* buffer, size_t buffer_size);
描述
vcpu_write_state() 的功能是从buffer中读取状态,并写入到kind指定的vcpu中。 但只有当vcpu暂停执行时,写入它的状态才是有效的。
kind的值可以是ZX_VCPU_STATE或ZX_VCPU_IO。
权限
TODO(ZX-2399)
返回值
vcpu_write_state() 调用成功则返回ZX_OK。 如果调用失败,则返回负的错误码。
错误码
ZX_ERR_ACCESS_DENIED:vcpu缺少ZX_RIGHT_WRITE权限。
ZX_ERR_BAD_HANDLE:vcpu是无效句柄。
ZX_ERR_BAD_STATE:vcpu处于错误状态,无法写入状态。
ZX_ERR_INVALID_ARGS:kind的值无效;或buffer是无效指针;或者buffer_size与kind结构所期望的大小不匹配。
ZX_ERR_WRONG_TYPE:vcpu不是VCPU类型的句柄。
另见
guest_create, guest_set_trap, vcpu_create, vcpu_resume, vcpu_interrupt, vcpu_read_state.