mesa/src/virtio
Oleksandr Gabrylchuk 02fab4cf9e venus: Implement guest vram blob type.
Add support of GUEST_VRAM type of blob. These are dedicated heap memory
allocations required for vk support on hypervisors that don't support
runtime injections of host memory into guest physical address space.

The flow of usage:
1) Host VM reserves dedicated heap memory
2) Device get info about memory reservations and report it to guest
using mmio registers
3) Guest virtio-gpu driver on starts checks mmio registers for
physical address and length of reserved region. Then it reserves it
in guest.
4) On each call of vkAllocateMemory() guest driver gets chunk of
required memory and send it to host using sg list. It uses one sg
entry for 1 blob call. Heap is managed on guest using drm memory
manager (drm_mm).

Signed-off-by: Oleksandr.Gabrylchuk <Oleksandr.Gabrylchuk@opensynergy.com>
Signed-off-by: Andrii Pauk <Andrii.Pauk@opensynergy.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14536>
2022-03-01 17:25:56 +00:00
..
venus-protocol venus: venus-protocol groundwork to VK_EXT_custom_border_color 2022-02-17 21:02:37 +00:00
virtio-gpu venus: prefer VIRTGPU_BLOB_MEM_HOST3D for shmems 2021-12-08 21:23:05 +00:00
vtest virgl: update headers from virglrenderer 2021-04-08 17:15:37 +00:00
vulkan venus: Implement guest vram blob type. 2022-03-01 17:25:56 +00:00
meson.build venus: add driver skeleton 2021-04-08 17:15:37 +00:00