On 4/28/26 22:44, Sergio Lopez wrote: > There's an increasing number of machines supporting multiple page sizes > and on these machines the host and a guest can be running, each one, > with a different page size. > > For what pertains to virtio-gpu, this is not a problem if the page size > of the guest happens to be bigger or equal than the host, but will > potentially lead to failures in memory allocations and/or mappings > otherwise. > > To deal with this, the virtio-spec was extended to introduce with the > VIRTIO_GPU_F_BLOB_ALIGNMENT feature [1]. If this feature is negotiated, > we must use the "blob_alignment" field in the config to ensure every > CREATE_BLOB and MAP_BLOB is properly aligned before sending it to the > device. > > We also introduce the VIRTGPU_PARAM_BLOB_ALIGNMENT parameter to allow > userspace to query the alignment restrictions for blobs. > > This supersedes "drm/virtio: introduce the HOST_PAGE_SIZE feature" [2]. > > [1] > https://github.com/oasis-tcs/virtio-spec/commit/f9abfd55cb663837dda1153b826216dcf4d25b84 > [2] https://lkml.org/lkml/2024/7/23/438 > > Changes in v2: > - Rebased. > - Moved blob size alignment validation to verify_blob(), rejecting > misaligned sizes early in the ioctl path instead of checking in > virtio_gpu_cmd_resource_create_blob() and virtio_gpu_cmd_map() > (Dmitry Osipenko). > > Sergio Lopez (3): > drm/virtio: support VIRTIO_GPU_F_BLOB_ALIGNMENT > drm/virtio: honor blob_alignment requirements > drm/virtio: add VIRTGPU_PARAM_BLOB_ALIGNMENT to params > > drivers/gpu/drm/virtio/virtgpu_drv.c | 1 + > drivers/gpu/drm/virtio/virtgpu_drv.h | 2 ++ > drivers/gpu/drm/virtio/virtgpu_ioctl.c | 10 ++++++++++ > drivers/gpu/drm/virtio/virtgpu_kms.c | 14 +++++++++++--- > include/uapi/drm/virtgpu_drm.h | 1 + > include/uapi/linux/virtio_gpu.h | 9 +++++++++ > 6 files changed, 34 insertions(+), 3 deletions(-) >
Applied to misc-next, thanks -- Best regards, Dmitry

