patches and low-level development discussion
 help / color / mirror / code / Atom feed
blob 501db2434346d87e281fc24d96c3bf89e16f47ca 1137 bytes (raw)
name: Documentation/decisions/005-virtual-machine-manager.adoc 	 # note: path name is non-authoritative(*)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
# Virtual Machine Manager

// SPDX-FileCopyrightText: 2022 Unikie
// SPDX-License-Identifier: GFDL-1.3-no-invariants-or-later OR CC-BY-SA-4.0

## Status
Accepted

## Context
rust-vmm-based VMM provides memory and concurrency safe solution.
cloud-hypervisor was chosen because firecracker does not support other
virtio-devices than net or block. crosvm was not chosen because cloud-hypervisor
has more flexible IPC mechanisms, more engaging community as LF-project.
cloud-hypervisor has more core features - such as snapshotting, live migration
and more general hot plugging. crosvm supports more devices we will also need.
It was seen easier to port devices from crosvm to cloud-hypervisor than to port
core features from cloud-hypervisor to crosvm.

## Decision
Spectrum OS design and implementation decision is to use cloud-hypervisor as the
primary VMM.

## Consequences
We gotta port some stuff from crosvm to cloud-hypervisor. It's easier for
Spectrum to handle virtualization dynamically with cloud-hypervisor. If the
primary VMM, cloud-hypervisor, is exchanged for trials etc. functionality is
expected to break or not supported.

debug log:

solving 501db24 ...
found 501db24 in https://inbox.spectrum-os.org/spectrum-devel/CAP-nJwHX11dzQ+aoWsbOx4DzVRYE3LOp7eKV1cU9_ykpFssA3g@mail.gmail.com/

applying [1/1] https://inbox.spectrum-os.org/spectrum-devel/CAP-nJwHX11dzQ+aoWsbOx4DzVRYE3LOp7eKV1cU9_ykpFssA3g@mail.gmail.com/
diff --git a/Documentation/decisions/005-virtual-machine-manager.adoc b/Documentation/decisions/005-virtual-machine-manager.adoc
new file mode 100644
index 0000000..501db24

Checking patch Documentation/decisions/005-virtual-machine-manager.adoc...
Applied patch Documentation/decisions/005-virtual-machine-manager.adoc cleanly.

index at:
100644 501db2434346d87e281fc24d96c3bf89e16f47ca	Documentation/decisions/005-virtual-machine-manager.adoc

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

Code repositories for project(s) associated with this public inbox

	https://spectrum-os.org/git/crosvm
	https://spectrum-os.org/git/doc
	https://spectrum-os.org/git/mktuntap
	https://spectrum-os.org/git/nixpkgs
	https://spectrum-os.org/git/spectrum
	https://spectrum-os.org/git/ucspi-vsock
	https://spectrum-os.org/git/www

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).