mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2024-11-28 17:44:10 +00:00
No description
e5c6e65731
The original Pit code encoded the start value of a timer into the count_load_time field as a number of nanoseconds since the start of the host's monotonic time value. Instead, we can use the PitCounter's creation_time as the epoch. This makes the math look a bit more sensible and removes the use of the non-portable clock_gettime() function. Before ====== get_channel_state(): count_load_time = get_monotonic_time() - start.elapsed() === count_load_time = now() - (now() - start) === count_load_time = start set_channel_state(): start = now() - (get_monotonic_time() - count_load_time) === start = now() - now() + count_load_time === start = count_load_time After ===== get_channel_state(): count_load_time = start - creation_time set_channel_state(): start = creation_time + count_load_time BUG=chromium:908689 BUG=b:213149155 TEST=cargo test -p devices pit TEST=tools/run_tests --target=host --arch=win64 Change-Id: I5468d1d964a04b1ce96979ed583b729d139e1005 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3723804 Reviewed-by: Noah Gold <nkgold@google.com> Reviewed-by: Vikram Auradkar <auradkar@google.com> Tested-by: kokoro <noreply+kokoro@google.com> Commit-Queue: Daniel Verkamp <dverkamp@chromium.org> |
||
---|---|---|
.cargo | ||
.devcontainer | ||
.github | ||
aarch64 | ||
acpi_tables | ||
arch | ||
argh_helpers | ||
base | ||
bin | ||
bit_field | ||
broker_ipc | ||
ci/kokoro | ||
common | ||
cros_async | ||
crosvm-fuzz | ||
crosvm_control | ||
crosvm_plugin | ||
devices | ||
disk | ||
docs/book | ||
fuse | ||
gpu_display | ||
hypervisor | ||
infra | ||
integration_tests | ||
io_uring | ||
kernel_cmdline | ||
kernel_loader | ||
kvm | ||
kvm_sys | ||
libcras_stub | ||
linux_input_sys | ||
logo | ||
media | ||
metrics | ||
net_sys | ||
net_util | ||
power_monitor | ||
protos | ||
qcow_utils | ||
resources | ||
rutabaga_gfx | ||
seccomp | ||
serde_keyvalue | ||
src | ||
system_api_stub | ||
tests | ||
third_party | ||
tools | ||
tpm2 | ||
tpm2-sys | ||
tracing | ||
tube_transporter | ||
usb_sys | ||
usb_util | ||
vfio_sys | ||
vhost | ||
virtio_sys | ||
vm_control | ||
vm_memory | ||
win_audio | ||
win_util | ||
x86_64 | ||
.dockerignore | ||
.gitignore | ||
.gitmodules | ||
.rustfmt.toml | ||
ARCHITECTURE.md | ||
Cargo.toml | ||
CONTRIBUTING.md | ||
LICENSE | ||
navbar.md | ||
OWNERS | ||
PRESUBMIT.cfg | ||
README.chromeos.md | ||
README.md | ||
run_tests | ||
rust-toolchain | ||
setup_cros_cargo.sh | ||
test_all | ||
unblocked_terms.txt |
crosvm - The Chrome OS Virtual Machine Monitor
crosvm is a virtual machine monitor (VMM) based on Linux’s 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 Chrome OS platform. Compared to QEMU, crosvm doesn’t 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 Chrome OS devices.
- Documentation
- Announcements
- Developer Mailing List
- #crosvm on matrix.org
- Source code
- API doc, useful for searching API.
- For contribution, see the contributor guide. Mirror repository is available at GitHub for your convenience, but we don't accept bug reports or pull requests there.
- Issue tracker