On 2/20/25 17:28, Sergio Lopez wrote: > Add VIRTGPU_PARAM_HOST_SHM_PAGE_SIZE as a param that can be read with > VIRTGPU_GETPARAM by userspace applications running in the guest to > obtain the host's page size and find out the right alignment to be used > in shared memory allocations. > > Signed-off-by: Sergio Lopez <s...@redhat.com> > --- > drivers/gpu/drm/virtio/virtgpu_ioctl.c | 5 +++++ > include/uapi/drm/virtgpu_drm.h | 1 + > 2 files changed, 6 insertions(+) > > diff --git a/drivers/gpu/drm/virtio/virtgpu_ioctl.c > b/drivers/gpu/drm/virtio/virtgpu_ioctl.c > index > c33c057365f85a2ace536f91655c903036827312..f112b862c2de4d021fb6a54a080f42ad75034227 > 100644 > --- a/drivers/gpu/drm/virtio/virtgpu_ioctl.c > +++ b/drivers/gpu/drm/virtio/virtgpu_ioctl.c > @@ -117,6 +117,11 @@ static int virtio_gpu_getparam_ioctl(struct drm_device > *dev, void *data, > case VIRTGPU_PARAM_EXPLICIT_DEBUG_NAME: > value = vgdev->has_context_init ? 1 : 0; > break; > + case VIRTGPU_PARAM_HOST_SHM_PAGE_SIZE: > + if (!vgdev->has_host_visible) > + return -ENOENT; > + value = vgdev->host_visible_region.page_size; > + break; > default: > return -EINVAL; > } > diff --git a/include/uapi/drm/virtgpu_drm.h b/include/uapi/drm/virtgpu_drm.h > index > c2ce71987e9bb816d13a300679336cb756f1cbcf..72db6b3339e0dcaf550acbf5ac4381a6e5c2216d > 100644 > --- a/include/uapi/drm/virtgpu_drm.h > +++ b/include/uapi/drm/virtgpu_drm.h > @@ -98,6 +98,7 @@ struct drm_virtgpu_execbuffer { > #define VIRTGPU_PARAM_CONTEXT_INIT 6 /* DRM_VIRTGPU_CONTEXT_INIT */ > #define VIRTGPU_PARAM_SUPPORTED_CAPSET_IDs 7 /* Bitmask of supported > capability set ids */ > #define VIRTGPU_PARAM_EXPLICIT_DEBUG_NAME 8 /* Ability to set debug name > from userspace */ > +#define VIRTGPU_PARAM_HOST_SHM_PAGE_SIZE 9 /* Host SHM page size, with > format PAGE_SIZE >> 12 */ > > struct drm_virtgpu_getparam { > __u64 param; >
Reviewed-by: Dmitry Osipenko <dmitry.osipe...@collabora.com> -- Best regards, Dmitry