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