[lkml]   [2018]   [Feb]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH v3 1/2] drm/virtio: Add window server support
On 02/12/2018 03:27 PM, Gerd Hoffmann wrote:
> On Mon, Feb 12, 2018 at 03:00:24PM +0100, Tomeu Vizoso wrote:
>> On 02/12/2018 12:52 PM, Gerd Hoffmann wrote:
>>> Hi,
>>>> can we reach agreement on whether vsock should be involved in this?
>>> I think the best approach would be to have guest proxy and host proxy
>>> use vsock for the wayland protocol. Use a wayland protocol extension to
>>> reference the buffers in stdvga / ivshmem / virtio-gpu. Only the two
>>> proxies need to understand the extension, the client <=> guest proxy and
>>> host proxy <=> server communication would be standard wayland protocol.
>> Thanks for the ideas. What I haven't understood yet is how you see the
>> actual passing of buffers via vsock. Are you thinking of using ancillary
>> data to pass FDs, or something else?
> I was more thinking about a struct containing enough info to allow the
> proxy on the host side find the buffer, something like:
> struct {
> enum type { stdvga, virtio-cpu, ... }
> pcislot device;
> union {
> int stdvga_pcibar_offset;
> int virtio_gpu_resource_id;
> }
> }
> So when the guest proxy gets a message with a fd referencing a buffer it
> would have to figure where the buffer is, rewrite the message into the
> struct above for the host proxy. The host proxy would rewrite the
> message again for the server.

What I don't understand yet is how we can keep the buffer descriptions
together with the protocol data that references them.

With SCM_RIGHTS, the FDs are placed in the ancillary data that "travels"
together with the protocol data that references them.

With the present series, the DRM_IOCTL_VIRTGPU_WINSRV_TX ioctl struct has
a field for the protocol data and an array of FDs.

How are you proposing to pass instances of that struct from above along
the protocol data that refers to them?



 \ /
  Last update: 2018-02-12 15:43    [W:0.085 / U:0.736 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site