base: move read/write wrappers to their own module.

In the future we'll be using read/write wrappers in multiple places,
but the wrapping code currently lives in the named pipe implementation.
This CL pulls it out to its own module. It also brings in some other
code in win_util that wasn't upstreamed.

BUG=b:272614458
TEST=presubmit

Change-Id: I6871f3db6991336f42706652b69935755bf2fbc3
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4326942
Commit-Queue: Noah Gold <nkgold@google.com>
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
4 files changed
tree: 47ba9fb2d567b182d85d116e7b702869795b3a9f
  1. .cargo/
  2. .config/
  3. .devcontainer/
  4. .github/
  5. .vscode/
  6. aarch64/
  7. acpi_tables/
  8. anti_tamper/
  9. arch/
  10. argh_helpers/
  11. base/
  12. bit_field/
  13. broker_ipc/
  14. common/
  15. crash_report/
  16. cros_async/
  17. cros_fdt/
  18. cros_tracing/
  19. crosvm-fuzz/
  20. crosvm_cli/
  21. crosvm_control/
  22. crosvm_plugin/
  23. devices/
  24. disk/
  25. docs/
  26. e2e_tests/
  27. fuse/
  28. gpu_display/
  29. hypervisor/
  30. infra/
  31. io_uring/
  32. jail/
  33. kernel_cmdline/
  34. kernel_loader/
  35. kvm/
  36. kvm_sys/
  37. libcras_stub/
  38. linux_input_sys/
  39. logo/
  40. media/
  41. metrics/
  42. net_sys/
  43. net_util/
  44. power_monitor/
  45. prebuilts/
  46. proto_build_tools/
  47. protos/
  48. qcow_utils/
  49. resources/
  50. rutabaga_gfx/
  51. sandbox/
  52. serde_keyvalue/
  53. src/
  54. swap/
  55. system_api/
  56. tests/
  57. third_party/
  58. tools/
  59. tpm2/
  60. tpm2-sys/
  61. tube_transporter/
  62. usb_sys/
  63. usb_util/
  64. vfio_sys/
  65. vhost/
  66. virtio_sys/
  67. vm_control/
  68. vm_memory/
  69. win_audio/
  70. win_util/
  71. x86_64/
  72. .dockerignore
  73. .envrc
  74. .gitignore
  75. .gitmodules
  76. .rustfmt.toml
  77. ARCHITECTURE.md
  78. Cargo.lock
  79. Cargo.toml
  80. CONTRIBUTING.md
  81. DIR_METADATA
  82. LICENSE
  83. mypy.ini
  84. OWNERS
  85. OWNERS_COUNCIL
  86. PRESUBMIT.cfg
  87. pyproject.toml
  88. README.chromeos.md
  89. README.md
  90. rust-toolchain
README.md

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

Logo