Write the state of a VCPU.


#include <zircon/syscalls.h>

zx_status_t zx_vcpu_write_state(zx_handle_t handle,
                                uint32_t kind,
                                const void* buffer,
                                size_t buffer_size);


zx_vcpu_write_state() writes the state of handle as specified by kind from buffer. It is only valid to write the state of handle when execution has been paused.

kind may be ZX_VCPU_STATE or ZX_VCPU_IO.

zx_vcpu_write_state() must be called on the same thread handle was created on.


handle must be of type ZX_OBJ_TYPE_VCPU and have ZX_RIGHT_WRITE.

Return value

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


ZX_ERR_ACCESS_DENIED handle does not have the ZX_RIGHT_WRITE right.

ZX_ERR_BAD_HANDLE handle is an invalid handle.

ZX_ERR_BAD_STATE handle is in a bad state, and state can not be written.

ZX_ERR_INVALID_ARGS kind does not name a known VCPU state, buffer is an invalid pointer, or buffer_size does not match the expected size of kind.

ZX_ERR_WRONG_TYPE handle is not a handle to a VCPU.

See also