[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [PATCH v5 03/13] virtio-gpu: Add udmabuf helpers
From: |
Kasireddy, Vivek |
Subject: |
RE: [PATCH v5 03/13] virtio-gpu: Add udmabuf helpers |
Date: |
Thu, 20 May 2021 06:23:58 +0000 |
Hi Gerd,
> > +#ifdef CONFIG_LINUX
>
> > +void virtio_gpu_init_udmabuf(struct virtio_gpu_simple_resource *res)
>
> > +#else
>
> > +void *virtio_gpu_init_udmabuf(struct virtio_gpu_simple_resource *res)
> > +{
> > + /* nothing (stub) */
> > + return NULL
> > +}
>
> Fails to build for !linux ...
>
> You can place the stubs in a file in the stubs/ directory instead.
> They'll be used via weak symbol references instead of #ifdefs then.
[Kasireddy, Vivek] Will do; should I send the whole series (v6) again with this
and the
other error in patch #10 fixed or just the fixed versions of these specific
patches?
Sorry for the tangential discussion...
On a completely different topic, I wanted to ask a question on behalf of a
colleague who
is trying to enable passthrough with virtio-gpu but for a Windows guest. It
appears the
guest boots only if we specify the option -vga virtio (not sure what happens
with virtio=std)
as Windows launches a "Microsoft Basic Display Adapter" driver for this VGA
device
and Qemu displays the Desktop for this device (via the calls in virtio-vga.c).
However,
since we only care about virtio-gpu-pci device for which we created a guest
driver, we
want to have Qemu display the content/fb from virtio-gpu instead of the vga
device.
I see that in set_scanout:
g->parent_obj.enable = 1;
and, then this in virtio-vga.c:
static void virtio_vga_base_update_display(void *opaque)
VirtIOVGABase *vvga = opaque;
VirtIOGPUBase *g = vvga->vgpu;
if (g->enable) {
g->hw_ops->gfx_update(g);
} else {
vvga->vga.hw_ops->gfx_update(&vvga->vga);
}
Since the parent_obj is different the above code is always going into the else
part.
Is the goal here to show the content from virtio-gpu if there is a set_scanout?
The only way we are able to get everything to work as expected is to enable our
virtio-gpu
guest driver for the VGA device instead of the virtio-gpu PCI device. But we
are not sure
if this would be OK or not. We don't run into these issues for Linux guests as
we only
enable virtio-gpu-pci as we have -vga none. We'd like to the do the same for
Windows
guests but it looks like it needs the VGA device to be available to boot. So,
our other
option (as we cannot disable the vga device) is to have Qemu accept content
only from
virtio-gpu-pci instead of virtio-vga. Would it make sense to do this? Do you
think there
is a better way to do what we are trying to do?
Thanks,
Vivek
[PATCH v5 06/13] virtio-gpu: Refactor virtio_gpu_create_mapping_iov, Vivek Kasireddy, 2021/05/18
[PATCH v5 05/13] virtio-gpu: Refactor virtio_gpu_set_scanout, Vivek Kasireddy, 2021/05/18
[PATCH v5 04/13] virtio-gpu: Add virtio_gpu_find_check_resource, Vivek Kasireddy, 2021/05/18
[PATCH v5 07/13] virtio-gpu: Add initial definitions for blob resources, Vivek Kasireddy, 2021/05/18
[PATCH v5 08/13] virtio-gpu: Add virtio_gpu_resource_create_blob, Vivek Kasireddy, 2021/05/18
[PATCH v5 10/13] virtio-gpu: Add helpers to create and destroy dmabuf objects, Vivek Kasireddy, 2021/05/18