template <>

class WireWeakSyncClientImpl

Defined at line 10528 of file fidling/gen/sdk/fidl/fuchsia.virtualization/fuchsia.virtualization/cpp/fidl/fuchsia.virtualization/cpp/wire_messaging.h

Public Methods

::fidl::WireResult< ::fuchsia_virtualization::GuestLifecycle::Create> Create (::fuchsia_virtualization::wire::GuestConfig guest_config)

Create a VMM configured with the provided config. This instantiates all devices and loads

the kernel without starting the VCPU or device dispatch loops.

Possible errors:

- ALREADY_RUNNING: A VMM instance is already running, and must be stopped before being

recreated.

All other errors are related to VMM initialization.

Allocates 32 bytes of response buffer on the stack. Request is heap-allocated.

::fidl::WireResult< ::fuchsia_virtualization::GuestLifecycle::Run> Run ()

Start the primary VCPU and any dispatch loop. This will not return until the VMM stops

running. On a clean shutdown (either guest or client initiated) this will return success.

Possible errors:

- ALREADY_RUNING: The VMM has already been started.

- NOT_CREATED: Run was called before the VMM was created.

- CONTROLLER_FORCED_HALT: Stop was called on a running VMM.

- VCPU_START_FAILURE: Failed to start the primary VCPU.

- VCPU_RUNTIME_FAILURE: A VCPU encountered a fatal error while running the guest.

Allocates 48 bytes of message buffer on the stack. No heap allocation necessary.

::fidl::WireResult< ::fuchsia_virtualization::GuestLifecycle::Stop> Stop ()

Stop a running VMM. Returns once the dispatch loops have stopped. After Stop returns,

Create and then Run can be called again.

Allocates 32 bytes of message buffer on the stack. No heap allocation necessary.