cloud-hypervisor/cloud-hypervisor
Davíð Steinn Geirsson c22c15b963
Some checks failed
Cloud Hypervisor Tests (Metrics) / Tests (Metrics) (push) Has been cancelled
REUSE Compliance Check / REUSE Compliance Check (push) Has been cancelled
Shell scripts check / Check shell scripts (push) Has been cancelled
virtio-devices: add vhost-user GPU device
Add a vhost-user frontend for virtio-gpu using the current vhost-user
protocol (GET_SHMEM_CONFIG=44, SHMEM_MAP/UNMAP=9/10, SHMEM=0x0020_0000).

The GPU device queries the backend for shared memory regions via
get_shmem_config(), allocates a PCI BAR for the shmem region, and
implements a BackendReqHandler that handles SHMEM_MAP/UNMAP requests
by mmapping file descriptors from the backend into the shared memory
region.

To support non-contiguous shared memory region IDs (needed for
VIRTIO_GPU_SHM_ID_HOST_VISIBLE=1), VirtioSharedMemoryList.region_list
is changed from Vec<VirtioSharedMemory> to BTreeMap<u8, VirtioSharedMemory>,
and the PCI BAR code uses the map key as the PCI capability shmid.

Includes full VMM plumbing: GpuConfig, --gpu CLI, API, device_manager,
seccomp rules, and hotplug support.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 17:46:55 +00:00
..
src virtio-devices: add vhost-user GPU device 2026-03-18 17:46:55 +00:00
tests tests: Fix Generic Initiator integration test 2026-02-18 11:13:07 +00:00
build.rs build: decouple Cargo.toml: split crate and workspace definitions 2025-12-09 16:13:10 +00:00
Cargo.toml build: Bump the non-rust-vmm group across 2 directories with 14 updates 2026-01-20 01:29:32 +00:00