No description
Find a file
Frederick Mayle 19f4b1243c devices: snapshot and restore for guest memory
`crosvm snapshot take ...` will write the contents of guest memory to a
file and `crosvm restore apply ...` will read that file to overwrite
guest memory.

To start with, the file is chosen by adding a ".mem" extension to the
snapshot file path. We should consider a better approach in the future,
maybe put them both in a tar file or have the user supply a directory
instead of a file path.

BUG=b:266514791

Change-Id: Ic05f94223fb74674bd57dcd2f848055b31eb5fdc
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4215313
Reviewed-by: Elie Kheirallah <khei@google.com>
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Reviewed-by: Noah Gold <nkgold@google.com>
Commit-Queue: Frederick Mayle <fmayle@google.com>
2023-02-06 22:44:17 +00:00
.cargo toolchain refactoring: Only support native out of the box 2023-01-24 17:33:29 +00:00
.config New nextest based test runner 2023-02-02 23:39:42 +00:00
.devcontainer dev_container: Add mdformat-tables to dependency 2022-11-15 22:36:38 +00:00
.github Cleanup: Remove old, deprecated and no longer used files 2022-09-20 21:05:57 +00:00
.vscode Document feature flags and introduce new feature sets 2022-10-14 20:31:19 +00:00
aarch64 swap: send userfaultfd via Tube on device process fork 2023-02-01 00:47:52 +00:00
acpi_tables Fix remaining Chrome/Chromium OS instances 2023-01-03 22:14:30 +00:00
anti_tamper kiwi: clean anti_tamper and metrics related code 2023-01-04 00:08:27 +00:00
arch swap: send userfaultfd via Tube on device process fork 2023-02-01 00:47:52 +00:00
argh_helpers Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
base base: fix mmap doc test on Windows. 2023-02-03 23:16:52 +00:00
bit_field Fix remaining Chrome/Chromium OS instances 2023-01-03 22:14:30 +00:00
broker_ipc Fix remaining Chrome/Chromium OS instances 2023-01-03 22:14:30 +00:00
common crosvm: Partially convert DataInit to zerocopy (1/n) 2023-02-02 19:28:57 +00:00
crash_report Fix remaining Chrome/Chromium OS instances 2023-01-03 22:14:30 +00:00
cros_async disk: native AsyncDisk impl for CompositeDiskFile 2023-01-13 20:38:20 +00:00
cros_fdt crosvm: fdt: Add option to dump generated devicetree blob 2023-01-20 20:26:55 +00:00
cros_tracing Fix remaining Chrome/Chromium OS instances 2023-01-03 22:14:30 +00:00
crosvm-fuzz Add conditional compilation for unix-only crates 2023-01-19 21:21:59 +00:00
crosvm_cli Fix remaining Chrome/Chromium OS instances 2023-01-03 22:14:30 +00:00
crosvm_control crosvm_control: Add vmm swap (enable/disable/swapout) API 2023-01-26 07:47:48 +00:00
crosvm_plugin Add conditional compilation for unix-only crates 2023-01-19 21:21:59 +00:00
devices devices: snapshot and restore for guest memory 2023-02-06 22:44:17 +00:00
disk disk: android_sparse: fix into_inner bug 2023-01-26 18:36:01 +00:00
docs/book aarch64: static swiotlb allocation 2023-02-01 00:05:48 +00:00
e2e_tests devices: snapshot and restore for guest memory 2023-02-06 22:44:17 +00:00
fuse crosvm: Partially convert DataInit to zerocopy (1/n) 2023-02-02 19:28:57 +00:00
gpu_display Add conditional compilation for unix-only crates 2023-01-19 21:21:59 +00:00
hypervisor hypervisor: fix whpx build failures 2023-02-02 02:29:31 +00:00
infra Roll recipe dependencies (trivial). 2023-02-06 19:31:08 +00:00
io_uring Add conditional compilation for unix-only crates 2023-01-19 21:21:59 +00:00
kernel_cmdline Rust 1.65: Fix clippy derive_partial_eq_without_eq lints 2022-12-01 01:32:30 +00:00
kernel_loader crosvm: Partially convert DataInit to zerocopy (1/n) 2023-02-02 19:28:57 +00:00
kvm kvm: dedup BlockedSignal type 2023-01-20 19:11:28 +00:00
kvm_sys Add conditional compilation for unix-only crates 2023-01-19 21:21:59 +00:00
libcras_stub Fix remaining Chrome/Chromium OS instances 2023-01-03 22:14:30 +00:00
linux_input_sys Fix remaining Chrome/Chromium OS instances 2023-01-03 22:14:30 +00:00
logo README: Use PNG logo image 2021-10-29 01:56:23 +00:00
media media: cros-codecs: make decode() take a &[u8] as input 2023-02-02 06:38:31 +00:00
metrics kiwi: clean anti_tamper and metrics related code 2023-01-04 00:08:27 +00:00
net_sys Fix remaining Chrome/Chromium OS instances 2023-01-03 22:14:30 +00:00
net_util Fix new Rust 1.65 clippy warnings 2023-01-05 23:08:09 +00:00
power_monitor power_monitor: refactor to use ReadNotifier 2023-01-03 22:37:36 +00:00
prebuilts Enable parallel execution of plugin and e2e tests 2023-01-26 20:38:57 +00:00
proto_build_tools proto_build_tools: dont fail silently 2023-01-31 18:03:00 +00:00
protos Add conditional compilation for unix-only crates 2023-01-19 21:21:59 +00:00
qcow_utils Add conditional compilation for unix-only crates 2023-01-19 21:21:59 +00:00
resources resource: system_allocator: introduce GPE allocator 2023-02-06 22:02:37 +00:00
rutabaga_gfx crosvm: revbump for rutabaga_gfx 2023-02-01 23:22:03 +00:00
sandbox Fix remaining Chrome/Chromium OS instances 2023-01-03 22:14:30 +00:00
seccomp swap: send userfaultfd via Tube on device process fork 2023-02-01 00:47:52 +00:00
serde_keyvalue Fix remaining Chrome/Chromium OS instances 2023-01-03 22:14:30 +00:00
src devices: snapshot and restore for guest memory 2023-02-06 22:44:17 +00:00
swap swap: refine swap status response 2023-02-06 06:06:31 +00:00
system_api Fix remaining Chrome/Chromium OS instances 2023-01-03 22:14:30 +00:00
tests Enable parallel execution of plugin and e2e tests 2023-01-26 20:38:57 +00:00
third_party crosvm: Partially convert DataInit to zerocopy (1/n) 2023-02-02 19:28:57 +00:00
tools tools: make scripts windows/downstream friendly 2023-02-03 21:52:06 +00:00
tpm2 Add conditional compilation for unix-only crates 2023-01-19 21:21:59 +00:00
tpm2-sys Add conditional compilation for unix-only crates 2023-01-19 21:21:59 +00:00
tube_transporter Fix remaining Chrome/Chromium OS instances 2023-01-03 22:14:30 +00:00
usb_sys Fix remaining Chrome/Chromium OS instances 2023-01-03 22:14:30 +00:00
usb_util Add conditional compilation for unix-only crates 2023-01-19 21:21:59 +00:00
vfio_sys Fix remaining Chrome/Chromium OS instances 2023-01-03 22:14:30 +00:00
vhost Fix remaining Chrome/Chromium OS instances 2023-01-03 22:14:30 +00:00
virtio_sys devices: virtio: add pvclock device 2023-01-11 17:49:10 +00:00
vm_control vm_control: trivial code cleanup 2023-01-18 18:37:59 +00:00
vm_memory devices: snapshot and restore for guest memory 2023-02-06 22:44:17 +00:00
win_audio kiwi: clean anti_tamper and metrics related code 2023-01-04 00:08:27 +00:00
win_util Fix remaining Chrome/Chromium OS instances 2023-01-03 22:14:30 +00:00
x86_64 crosvm: Partially convert DataInit to zerocopy (1/n) 2023-02-02 19:28:57 +00:00
.dockerignore add docker supported builds and tests 2019-05-15 13:36:19 -07:00
.gitignore Add python configs for consistency between IDE and CI 2022-08-16 18:33:23 +00:00
.gitmodules health-check: Add infra checks 2022-08-18 00:17:04 +00:00
.rustfmt.toml rustfmt, win_util: update to 2021 edition 2022-05-31 23:35:02 +00:00
ARCHITECTURE.md Fix remaining Chrome/Chromium OS instances 2023-01-03 22:14:30 +00:00
build.rs Rust 1.65: Fix clippy borrow_deref_ref, needless_borrow, and explicit_auto_deref lints 2022-11-30 19:33:31 +00:00
Cargo.lock devices: snapshot and restore for guest memory 2023-02-06 22:44:17 +00:00
Cargo.toml swap: send userfaultfd via Tube on device process fork 2023-02-01 00:47:52 +00:00
CONTRIBUTING.md docs: typos and nits in CONTRIBUTING.md 2023-01-31 00:24:46 +00:00
DIR_METADATA DIR_METADATA: Add public buganizer component 2022-09-21 17:43:59 +00:00
LICENSE Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
mypy.ini Add python configs for consistency between IDE and CI 2022-08-16 18:33:23 +00:00
OWNERS Require council review for changes to Cargo.lock 2022-12-01 18:50:48 +00:00
OWNERS_COUNCIL Require council review for changes to Cargo.lock 2022-12-01 18:50:48 +00:00
PRESUBMIT.cfg Cleanup: Remove old, deprecated and no longer used files 2022-09-20 21:05:57 +00:00
pyproject.toml Add python configs for consistency between IDE and CI 2022-08-16 18:33:23 +00:00
README.chromeos.md crosvm: update book and doc links to crosvm.dev 2022-07-29 22:54:01 +00:00
README.md Fix remaining Chrome/Chromium OS instances 2023-01-03 22:14:30 +00:00
rust-toolchain dev_container: Upgrade to debian bookworm 2022-09-14 22:32:36 +00:00

crosvm - The ChromeOS Virtual Machine Monitor

crosvm is a virtual machine monitor (VMM) based on Linuxs KVM hypervisor, with a focus on simplicity, security, and speed. crosvm is intended to run Linux guests, originally as a security boundary for running native applications on the ChromeOS platform. Compared to QEMU, crosvm doesnt emulate architectures or real hardware, instead concentrating on paravirtualized devices, such as the virtio standard.

crosvm is currently used to run Linux/Android guests on ChromeOS devices.

Logo