From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34631) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z0vEs-00017P-AU for qemu-devel@nongnu.org; Fri, 05 Jun 2015 13:17:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z0vEp-0005Xw-13 for qemu-devel@nongnu.org; Fri, 05 Jun 2015 13:17:02 -0400 Received: from mx1.redhat.com ([209.132.183.28]:34508) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z0vEo-0005X2-P7 for qemu-devel@nongnu.org; Fri, 05 Jun 2015 13:16:58 -0400 Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (Postfix) with ESMTPS id 4E08B3AFD6A for ; Fri, 5 Jun 2015 17:16:58 +0000 (UTC) Message-ID: <5571D986.2090802@redhat.com> Date: Fri, 05 Jun 2015 19:16:54 +0200 From: Max Reitz MIME-Version: 1.0 References: <1432899918-18513-1-git-send-email-kraxel@redhat.com> <1432899918-18513-3-git-send-email-kraxel@redhat.com> In-Reply-To: <1432899918-18513-3-git-send-email-kraxel@redhat.com> Content-Type: text/plain; charset=iso-8859-15; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 2/2] virtio-gpu/2d: add virtio gpu core code List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Gerd Hoffmann , qemu-devel@nongnu.org Cc: Dave Airlie , "Michael S. Tsirkin" On 29.05.2015 13:45, Gerd Hoffmann wrote: > This patch adds the core code for virtio gpu emulation, > covering 2d support. > > Written by Dave Airlie and Gerd Hoffmann. > > Signed-off-by: Dave Airlie > Signed-off-by: Gerd Hoffmann > --- > hw/display/Makefile.objs | 2 + > hw/display/virtio-gpu.c | 918 +++++++++++++++++++++++++++++++++++++++++ > include/hw/virtio/virtio-gpu.h | 147 +++++++ > trace-events | 14 + > 4 files changed, 1081 insertions(+) > create mode 100644 hw/display/virtio-gpu.c > create mode 100644 include/hw/virtio/virtio-gpu.h [snip] > diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c > new file mode 100644 > index 0000000..f4c00a8 > --- /dev/null > +++ b/hw/display/virtio-gpu.c [snip] > +static uint32_t virtio_gpu_get_features(VirtIODevice *vdev, uint32_t features) > +{ > + return features; > +} Does this series rely on some other patches? Because in master, VirtioDeviceClass::get_features() is still uint64_t (*)(VirtioDevice *, uint64_t) (which results in "hw/display/virtio-gpu.c:886:23: error: assignment from incompatible pointer type" for me). (in an earlier series, this function was uint64_t ()(VirtIODevice *, uint64_t)) [snip] > +int virtio_gpu_create_mapping_iov(struct virtio_gpu_resource_attach_backing *ab, > + struct virtio_gpu_ctrl_command *cmd, > + struct iovec **iov) > +{ > + struct virtio_gpu_mem_entry *ents; > + size_t esize, s; > + int i; > + > + if (ab->nr_entries > 1024) { > + qemu_log_mask(LOG_GUEST_ERROR, > + "%s: nr_entries is too big (%d > 1024)\n", > + __func__, ab->nr_entries); > + return -1; > + } Same question I had in said earlier series: Do you want to change this to 16384, because 1024 may be too small? [snip] > diff --git a/include/hw/virtio/virtio-gpu.h b/include/hw/virtio/virtio-gpu.h > new file mode 100644 > index 0000000..8015beb > --- /dev/null > +++ b/include/hw/virtio/virtio-gpu.h > @@ -0,0 +1,147 @@ > +/* > + * Virtio GPU Device > + * > + * Copyright Red Hat, Inc. 2013-2014 > + * > + * Authors: > + * Dave Airlie > + * Gerd Hoffmann > + * > + * This work is licensed under the terms of the GNU GPL, version 2. > + * See the COPYING file in the top-level directory. > + */ > + > +#ifndef _QEMU_VIRTIO_VGA_H > +#define _QEMU_VIRTIO_VGA_H > + > +#include "qemu/queue.h" > +#include "ui/qemu-pixman.h" > +#include "ui/console.h" > +#include "hw/virtio/virtio.h" > +#include "hw/pci/pci.h" > + > +#include "standard-headers/linux/virtio_gpu.h" > +#define TYPE_VIRTIO_GPU "virtio-gpu-device" > +#define VIRTIO_GPU(obj) \ > + OBJECT_CHECK(VirtIOGPU, (obj), TYPE_VIRTIO_GPU) > + > +#define VIRTIO_ID_GPU 16 > + > +#define VIRTIO_GPU_MAX_RES 16 Still unused. Still intentional? :-) Max