No description
Find a file
Vaibhav Nagarnaik 45fb59a2bb Enable irqchip and tsc for windows
Enable most of modules under `irqchip` as well as `tsc` to work with
windows since all their dependencies have been completed. They were
already working for unix.

The test `irqchip::userspace::tests::irq_event_tokens` fails on wine,
however, it work on windows and unix natively.

The test `tsc::calibrate::tests::test_frequency_higher_than_u32` fails
for hosts with cpu>64, since the windows implementation for setting
thread affinity does not support cpu>64.

BUG=b:237024070
TEST=Ran `tools/run_tests --target=host --arch=win64`

Change-Id: I15d8f3c3256e89f89efbe64dbe2ad809fcd90a72
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3737456
Tested-by: kokoro <noreply+kokoro@google.com>
Commit-Queue: Vaibhav Nagarnaik <vnagarnaik@google.com>
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Reviewed-by: Noah Gold <nkgold@google.com>
2022-06-30 19:24:08 +00:00
.cargo Run some win64 tests with wine as part of presubmit 2022-04-06 19:45:49 +00:00
.devcontainer Make vscode devcontainer usable 2022-01-25 21:30:49 +00:00
.github Reland "github: Minimize dependencies for document generation" 2022-04-12 22:30:10 +00:00
aarch64 arch: provide one vcpu_init per vcpu 2022-06-29 18:14:49 +00:00
acpi_tables doc: add a top-level comment to all crates 2022-05-06 20:46:57 +00:00
arch crosvm: add serde to arg types 2022-06-30 17:47:59 +00:00
argh_helpers crosvm: move run command to argh 2022-06-13 23:55:20 +00:00
base devices: pit: remove clock_gettime() usage 2022-06-29 22:08:44 +00:00
bin Deprecate old dev tooling scripts 2021-11-02 22:23:03 +00:00
bit_field crosvm: migrate to Rust 2021 edition 2022-03-09 01:16:03 +00:00
broker_ipc broker_ipc: fix child process logging init order. 2022-06-23 17:04:27 +00:00
ci/kokoro ci: kokoro: Add presubmit configs for x86_64-direct 2022-06-23 22:04:33 +00:00
common crosvm: add serde to arg types 2022-06-30 17:47:59 +00:00
cros_async cros_async: add async_from_local() 2022-06-08 02:29:19 +00:00
crosvm-fuzz devices: virtio: convert Interrupt to use IrqLevelEvent 2022-04-06 18:54:41 +00:00
crosvm_control crosvm_control: Add link to library docs 2022-06-29 04:13:01 +00:00
crosvm_plugin Rust 1.60 clippy fixes 2022-04-11 20:40:36 +00:00
devices Enable irqchip and tsc for windows 2022-06-30 19:24:08 +00:00
disk disk: upstream windows support 2022-05-19 18:25:30 +00:00
docs/book crosvm: Add documentation for crosvm_control 2022-06-24 04:55:42 +00:00
fuse doc: add a top-level comment to all crates 2022-05-06 20:46:57 +00:00
gpu_display devices: enable tests 2022-06-23 00:26:06 +00:00
hypervisor haxm_sys: follow mod guidelines 2022-06-30 18:36:03 +00:00
infra infra: Add crosvm_windows builder 2022-06-23 22:23:54 +00:00
integration_tests tools: Add crosvm-direct support for run_tests 2022-06-22 21:51:53 +00:00
io_uring base: remove WatchingEvents in favor of EventType 2022-06-06 17:07:33 +00:00
kernel_cmdline crosvm: migrate to Rust 2021 edition 2022-03-09 01:16:03 +00:00
kernel_loader kernel_loader: load ELF kernels at the right paddr 2022-06-23 22:30:37 +00:00
kvm base: clarify SharedMemory API 2022-06-01 03:55:47 +00:00
kvm_sys crosvm: Enable windows tests for a few crates 2022-06-07 14:37:43 +00:00
libcras_stub crosvm: migrate to Rust 2021 edition 2022-03-09 01:16:03 +00:00
linux_input_sys doc: add a top-level comment to all crates 2022-05-06 20:46:57 +00:00
logo README: Use PNG logo image 2021-10-29 01:56:23 +00:00
media virtio: video: decoder: add ffmpeg-based software decoder backend 2022-06-07 11:44:21 +00:00
metrics crosvm: replace lazy_static with once_cell 2022-06-21 23:40:55 +00:00
net_sys doc: add a top-level comment to all crates 2022-05-06 20:46:57 +00:00
net_util Use 4-space indent in cfg_if treewide 2022-06-07 17:36:51 +00:00
power_monitor crosvm: build/test few more crates on windows 2022-06-22 00:48:23 +00:00
protos doc: add a top-level comment to all crates 2022-05-06 20:46:57 +00:00
qcow_utils doc: add a top-level comment to all crates 2022-05-06 20:46:57 +00:00
resources crosvm: add serde to arg types 2022-06-30 17:47:59 +00:00
rutabaga_gfx rutabaga_gfx: Upstream cross_domain.rs 2022-06-13 17:34:42 +00:00
seccomp seccomp: add arm policy for Goldfish battery 2022-06-27 13:32:27 +00:00
serde_keyvalue serde_keyvalue: parse hex, octal, and binary nums 2022-06-02 22:03:20 +00:00
src crosvm: Fix android and gfxstream build errors 2022-06-29 20:02:50 +00:00
system_api_stub crosvm: migrate to Rust 2021 edition 2022-03-09 01:16:03 +00:00
tests crosvm: replace lazy_static with once_cell 2022-06-21 23:40:55 +00:00
third_party devices: vhost-user: handler: make run_with_listener() generic 2022-06-08 02:29:21 +00:00
tools tools: Set host as default target 2022-06-27 18:19:07 +00:00
tpm2 doc: add a top-level comment to all crates 2022-05-06 20:46:57 +00:00
tpm2-sys doc: add a top-level comment to all crates 2022-05-06 20:46:57 +00:00
tracing tracing: Add noop tracing 2022-06-16 21:13:55 +00:00
tube_transporter tube_transporter: Upstream this Window's specific crate 2022-04-20 01:24:35 +00:00
usb_sys doc: add a top-level comment to all crates 2022-05-06 20:46:57 +00:00
usb_util doc: add a top-level comment to all crates 2022-05-06 20:46:57 +00:00
vfio_sys Revert "direct_irq: Add support for host wakeup capable IRQs" 2022-05-19 14:28:46 +00:00
vhost crosvm: enable windows tests for vhost crate 2022-06-07 20:46:28 +00:00
virtio_sys virtio: create a DeviceType wrapper enum 2022-05-10 21:00:07 +00:00
vm_control vm_control: use Protection in mapping requests 2022-06-27 00:51:20 +00:00
vm_memory crosvm: implement lock-guest-memory feature. 2022-06-28 10:08:44 +00:00
win_audio win_audio: Upstream Window's audio crate 2022-06-10 19:04:05 +00:00
win_util crosvm: replace lazy_static with once_cell 2022-06-21 23:40:55 +00:00
x86_64 x86_64: move Fpu initialization to vcpu_init 2022-06-29 18:14:51 +00:00
.dockerignore add docker supported builds and tests 2019-05-15 13:36:19 -07:00
.gitignore infra: Initial setup of linux pre/post-submit builders 2022-05-24 23:13:13 +00:00
.gitmodules Switch to submodules based workflow 2021-08-05 18:32:32 +00:00
.rustfmt.toml rustfmt, win_util: update to 2021 edition 2022-05-31 23:35:02 +00:00
ARCHITECTURE.md base: replace PollToken with EventToken tree-wide 2022-06-02 22:30:38 +00:00
Cargo.toml crosvm: replace lazy_static with once_cell 2022-06-21 23:40:55 +00:00
CONTRIBUTING.md Add documentation for ChromeOS workflows 2022-04-18 19:05:49 +00:00
LICENSE add LICENSE and README 2017-04-17 14:06:21 -07:00
navbar.md docs: Use mdformat to format markdown files 2022-01-27 21:29:11 +00:00
OWNERS Adding Vikram to crosvm OWNERS 2022-06-06 17:20:10 +00:00
PRESUBMIT.cfg Add check_cq_depend to PRESUBMIT 2022-05-18 18:54:34 +00:00
README.chromeos.md Add documentation for ChromeOS workflows 2022-04-18 19:05:49 +00:00
README.md Add new email lists to README.md and book 2022-06-13 19:39:11 +00:00
run_tests Deprecate old dev tooling scripts 2021-11-02 22:23:03 +00:00
rust-toolchain Upgrade rust toolchain version to 1.58.1 2022-02-04 02:20:36 +00:00
setup_cros_cargo.sh Deprecate old dev tooling scripts 2021-11-02 22:23:03 +00:00
test_all Deprecate old dev tooling scripts 2021-11-02 22:23:03 +00:00
unblocked_terms.txt unblocked_terms.txt: clean up trivial cases 2021-04-26 20:32:38 +00:00

crosvm - The Chrome OS 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 Chrome OS 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 Chrome OS devices.

Logo