virglrenderer: Add cross-domain support

For cross-domain, virgl_renderer needs to be able to import a dmabuf fd
allocated by another component.

BUG=b:230100768
TEST=gfxbench, android games in arcvm

Change-Id: I9d6f965589ec24f06a83a6d921a9c00db1f057f6
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3501130
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Tested-by: kokoro <noreply+kokoro@google.com>
Auto-Submit: Rob Clark <robdclark@chromium.org>
Commit-Queue: Rob Clark <robdclark@chromium.org>
Reviewed-by: Ryan Neph <ryanneph@google.com>
6 files changed
tree: a24dcde7dc1e1eb3a70a5850197dc61f1289bf9d
  1. .cargo/
  2. .devcontainer/
  3. .github/
  4. aarch64/
  5. acpi_tables/
  6. arch/
  7. base/
  8. bin/
  9. bit_field/
  10. ci/
  11. common/
  12. cros_async/
  13. crosvm-fuzz/
  14. crosvm_control/
  15. crosvm_plugin/
  16. devices/
  17. disk/
  18. docs/
  19. fuse/
  20. gpu_display/
  21. hypervisor/
  22. infra/
  23. integration_tests/
  24. io_uring/
  25. kernel_cmdline/
  26. kernel_loader/
  27. kvm/
  28. kvm_sys/
  29. libcras_stub/
  30. linux_input_sys/
  31. logo/
  32. media/
  33. net_sys/
  34. net_util/
  35. power_monitor/
  36. protos/
  37. qcow_utils/
  38. resources/
  39. rutabaga_gfx/
  40. seccomp/
  41. serde_keyvalue/
  42. src/
  43. system_api_stub/
  44. tests/
  45. third_party/
  46. tools/
  47. tpm2/
  48. tpm2-sys/
  49. tube_transporter/
  50. usb_sys/
  51. usb_util/
  52. vfio_sys/
  53. vhost/
  54. virtio_sys/
  55. vm_control/
  56. vm_memory/
  57. win_util/
  58. x86_64/
  59. .dockerignore
  60. .gitignore
  61. .gitmodules
  62. .rustfmt.toml
  63. ARCHITECTURE.md
  64. Cargo.toml
  65. CONTRIBUTING.md
  66. LICENSE
  67. navbar.md
  68. OWNERS
  69. PRESUBMIT.cfg
  70. README.chromeos.md
  71. README.md
  72. run_tests
  73. rust-toolchain
  74. setup_cros_cargo.sh
  75. test_all
  76. unblocked_terms.txt
README.md

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.

Logo