[Qemu-devel] [RFC PATCH 0/3] hw/display: Refresh UI depending on vGPU page flip events

Tina Zhang posted 3 patches 4 years, 11 months ago
Test s390x failed
Test checkpatch passed
Test asan failed
Test docker-mingw@fedora passed
Test docker-clang@ubuntu failed
Test FreeBSD passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20190604095847.10532-1-tina.zhang@intel.com
Maintainers: Gerd Hoffmann <kraxel@redhat.com>, Alex Williamson <alex.williamson@redhat.com>
hw/vfio/common.c              |  78 +++++++++++
hw/vfio/display.c             | 249 +++++++++++++++++++++++++++++-----
include/hw/vfio/vfio-common.h |  11 ++
include/ui/console.h          |   2 +
ui/console.c                  |  35 +++++
5 files changed, 343 insertions(+), 32 deletions(-)
[Qemu-devel] [RFC PATCH 0/3] hw/display: Refresh UI depending on vGPU page flip events
Posted by Tina Zhang 4 years, 11 months ago
This series shows the idea to refresh UI console depending on vGPU
page flip events.

Tina Zhang (3):
  vfio: Add a funtion to return a specific irq capabilities
  ui/console: Introduce two new APIs
  vfio/display: Refresh display depending on vGPU page flip events

 hw/vfio/common.c              |  78 +++++++++++
 hw/vfio/display.c             | 249 +++++++++++++++++++++++++++++-----
 include/hw/vfio/vfio-common.h |  11 ++
 include/ui/console.h          |   2 +
 ui/console.c                  |  35 +++++
 5 files changed, 343 insertions(+), 32 deletions(-)

-- 
2.17.1


Re: [Qemu-devel] [RFC PATCH 0/3] hw/display: Refresh UI depending on vGPU page flip events
Posted by no-reply@patchew.org 4 years, 11 months ago
Patchew URL: https://patchew.org/QEMU/20190604095847.10532-1-tina.zhang@intel.com/



Hi,

This series failed build test on s390x host. Please find the details below.

=== TEST SCRIPT BEGIN ===
#!/bin/bash
# Testing script will be invoked under the git checkout with
# HEAD pointing to a commit that has the patches applied on top of "base"
# branch
set -e
CC=$HOME/bin/cc
INSTALL=$PWD/install
BUILD=$PWD/build
mkdir -p $BUILD $INSTALL
SRC=$PWD
cd $BUILD
$SRC/configure --cc=$CC --prefix=$INSTALL
make -j4
# XXX: we need reliable clean up
# make check -j4 V=1
make install

echo
echo "=== ENV ==="
env

echo
echo "=== PACKAGES ==="
rpm -qa
=== TEST SCRIPT END ===

  CC      aarch64-softmmu/hw/display/virtio-gpu.o
  CC      arm-softmmu/hw/display/virtio-gpu-pci.o
/var/tmp/patchew-tester-tmp-ymcno5d3/src/hw/vfio/common.c: In function ‘vfio_get_irq_info_cap’:
/var/tmp/patchew-tester-tmp-ymcno5d3/src/hw/vfio/common.c:757:25: error: ‘VFIO_IRQ_INFO_FLAG_CAPS’ undeclared (first use in this function); did you mean ‘VFIO_REGION_INFO_FLAG_CAPS’?
  757 |     if (!(info->flags & VFIO_IRQ_INFO_FLAG_CAPS)) {
      |                         ^~~~~~~~~~~~~~~~~~~~~~~
      |                         VFIO_REGION_INFO_FLAG_CAPS
/var/tmp/patchew-tester-tmp-ymcno5d3/src/hw/vfio/common.c:757:25: note: each undeclared identifier is reported only once for each function it appears in
/var/tmp/patchew-tester-tmp-ymcno5d3/src/hw/vfio/common.c:761:26: error: ‘struct vfio_irq_info’ has no member named ‘cap_offset’
  761 |     for (hdr = ptr + info->cap_offset; hdr != ptr; hdr = ptr + hdr->next) {
      |                          ^~
/var/tmp/patchew-tester-tmp-ymcno5d3/src/hw/vfio/common.c: In function ‘vfio_get_dev_irq_info’:
/var/tmp/patchew-tester-tmp-ymcno5d3/src/hw/vfio/common.c:1636:44: error: ‘VFIO_IRQ_INFO_CAP_TYPE’ undeclared (first use in this function); did you mean ‘VFIO_REGION_INFO_CAP_TYPE’?
 1636 |         hdr = vfio_get_irq_info_cap(*info, VFIO_IRQ_INFO_CAP_TYPE);
      |                                            ^~~~~~~~~~~~~~~~~~~~~~
      |                                            VFIO_REGION_INFO_CAP_TYPE
In file included from /var/tmp/patchew-tester-tmp-ymcno5d3/src/include/qemu/osdep.h:51,
                 from /var/tmp/patchew-tester-tmp-ymcno5d3/src/hw/vfio/common.c:21:
/var/tmp/patchew-tester-tmp-ymcno5d3/src/include/qemu/compiler.h:57:34: error: dereferencing pointer to incomplete type ‘struct vfio_irq_info_cap_type’
   57 |         const typeof(((type *) 0)->member) *__mptr = (ptr);     \
      |                                  ^~
/var/tmp/patchew-tester-tmp-ymcno5d3/src/hw/vfio/common.c:1642:20: note: in expansion of macro ‘container_of’
 1642 |         cap_type = container_of(hdr, struct vfio_irq_info_cap_type, header);
      |                    ^~~~~~~~~~~~
/var/tmp/patchew-tester-tmp-ymcno5d3/src/include/qemu/compiler.h:57:54: error: initialization of ‘const int *’ from incompatible pointer type ‘struct vfio_info_cap_header *’ [-Werror=incompatible-pointer-types]
   57 |         const typeof(((type *) 0)->member) *__mptr = (ptr);     \
      |                                                      ^
/var/tmp/patchew-tester-tmp-ymcno5d3/src/hw/vfio/common.c:1642:20: note: in expansion of macro ‘container_of’
---
                 from /var/tmp/patchew-tester-tmp-ymcno5d3/src/include/glib-compat.h:32,
                 from /var/tmp/patchew-tester-tmp-ymcno5d3/src/include/qemu/osdep.h:140,
                 from /var/tmp/patchew-tester-tmp-ymcno5d3/src/hw/vfio/common.c:21:
/var/tmp/patchew-tester-tmp-ymcno5d3/src/include/qemu/compiler.h:58:37: error: invalid use of undefined type ‘struct vfio_irq_info_cap_type’
   58 |         (type *) ((char *) __mptr - offsetof(type, member));})
      |                                     ^~~~~~~~
/var/tmp/patchew-tester-tmp-ymcno5d3/src/hw/vfio/common.c:1642:20: note: in expansion of macro ‘container_of’
---
  CC      aarch64-softmmu/hw/timer/digic-timer.o
  CC      aarch64-softmmu/hw/timer/allwinner-a10-pit.o
/var/tmp/patchew-tester-tmp-ymcno5d3/src/hw/vfio/common.c: In function ‘vfio_get_irq_info_cap’:
/var/tmp/patchew-tester-tmp-ymcno5d3/src/hw/vfio/common.c:757:25: error: ‘VFIO_IRQ_INFO_FLAG_CAPS’ undeclared (first use in this function); did you mean ‘VFIO_REGION_INFO_FLAG_CAPS’?
  757 |     if (!(info->flags & VFIO_IRQ_INFO_FLAG_CAPS)) {
      |                         ^~~~~~~~~~~~~~~~~~~~~~~
      |                         VFIO_REGION_INFO_FLAG_CAPS
/var/tmp/patchew-tester-tmp-ymcno5d3/src/hw/vfio/common.c:757:25: note: each undeclared identifier is reported only once for each function it appears in
/var/tmp/patchew-tester-tmp-ymcno5d3/src/hw/vfio/common.c:761:26: error: ‘struct vfio_irq_info’ has no member named ‘cap_offset’
  761 |     for (hdr = ptr + info->cap_offset; hdr != ptr; hdr = ptr + hdr->next) {
      |                          ^~
/var/tmp/patchew-tester-tmp-ymcno5d3/src/hw/vfio/common.c: In function ‘vfio_get_dev_irq_info’:
/var/tmp/patchew-tester-tmp-ymcno5d3/src/hw/vfio/common.c:1636:44: error: ‘VFIO_IRQ_INFO_CAP_TYPE’ undeclared (first use in this function); did you mean ‘VFIO_REGION_INFO_CAP_TYPE’?
 1636 |         hdr = vfio_get_irq_info_cap(*info, VFIO_IRQ_INFO_CAP_TYPE);
      |                                            ^~~~~~~~~~~~~~~~~~~~~~
      |                                            VFIO_REGION_INFO_CAP_TYPE
In file included from /var/tmp/patchew-tester-tmp-ymcno5d3/src/include/qemu/osdep.h:51,
                 from /var/tmp/patchew-tester-tmp-ymcno5d3/src/hw/vfio/common.c:21:
/var/tmp/patchew-tester-tmp-ymcno5d3/src/include/qemu/compiler.h:57:34: error: dereferencing pointer to incomplete type ‘struct vfio_irq_info_cap_type’
   57 |         const typeof(((type *) 0)->member) *__mptr = (ptr);     \
      |                                  ^~
/var/tmp/patchew-tester-tmp-ymcno5d3/src/hw/vfio/common.c:1642:20: note: in expansion of macro ‘container_of’
 1642 |         cap_type = container_of(hdr, struct vfio_irq_info_cap_type, header);
      |                    ^~~~~~~~~~~~
/var/tmp/patchew-tester-tmp-ymcno5d3/src/include/qemu/compiler.h:57:54: error: initialization of ‘const int *’ from incompatible pointer type ‘struct vfio_info_cap_header *’ [-Werror=incompatible-pointer-types]
   57 |         const typeof(((type *) 0)->member) *__mptr = (ptr);     \
      |                                                      ^
/var/tmp/patchew-tester-tmp-ymcno5d3/src/hw/vfio/common.c:1642:20: note: in expansion of macro ‘container_of’
---
                 from /var/tmp/patchew-tester-tmp-ymcno5d3/src/include/glib-compat.h:32,
                 from /var/tmp/patchew-tester-tmp-ymcno5d3/src/include/qemu/osdep.h:140,
                 from /var/tmp/patchew-tester-tmp-ymcno5d3/src/hw/vfio/common.c:21:
/var/tmp/patchew-tester-tmp-ymcno5d3/src/include/qemu/compiler.h:58:37: error: invalid use of undefined type ‘struct vfio_irq_info_cap_type’
   58 |         (type *) ((char *) __mptr - offsetof(type, member));})
      |                                     ^~~~~~~~
/var/tmp/patchew-tester-tmp-ymcno5d3/src/hw/vfio/common.c:1642:20: note: in expansion of macro ‘container_of’
---
  CC      aarch64-softmmu/hw/vfio/common.o
  CC      aarch64-softmmu/hw/vfio/spapr.o
/var/tmp/patchew-tester-tmp-ymcno5d3/src/hw/vfio/common.c: In function ‘vfio_get_irq_info_cap’:
/var/tmp/patchew-tester-tmp-ymcno5d3/src/hw/vfio/common.c:757:25: error: ‘VFIO_IRQ_INFO_FLAG_CAPS’ undeclared (first use in this function); did you mean ‘VFIO_REGION_INFO_FLAG_CAPS’?
  757 |     if (!(info->flags & VFIO_IRQ_INFO_FLAG_CAPS)) {
      |                         ^~~~~~~~~~~~~~~~~~~~~~~
      |                         VFIO_REGION_INFO_FLAG_CAPS
/var/tmp/patchew-tester-tmp-ymcno5d3/src/hw/vfio/common.c:757:25: note: each undeclared identifier is reported only once for each function it appears in
/var/tmp/patchew-tester-tmp-ymcno5d3/src/hw/vfio/common.c:761:26: error: ‘struct vfio_irq_info’ has no member named ‘cap_offset’
  761 |     for (hdr = ptr + info->cap_offset; hdr != ptr; hdr = ptr + hdr->next) {
      |                          ^~
/var/tmp/patchew-tester-tmp-ymcno5d3/src/hw/vfio/common.c: In function ‘vfio_get_dev_irq_info’:
/var/tmp/patchew-tester-tmp-ymcno5d3/src/hw/vfio/common.c:1636:44: error: ‘VFIO_IRQ_INFO_CAP_TYPE’ undeclared (first use in this function); did you mean ‘VFIO_REGION_INFO_CAP_TYPE’?
 1636 |         hdr = vfio_get_irq_info_cap(*info, VFIO_IRQ_INFO_CAP_TYPE);
      |                                            ^~~~~~~~~~~~~~~~~~~~~~
      |                                            VFIO_REGION_INFO_CAP_TYPE
In file included from /var/tmp/patchew-tester-tmp-ymcno5d3/src/include/qemu/osdep.h:51,
                 from /var/tmp/patchew-tester-tmp-ymcno5d3/src/hw/vfio/common.c:21:
/var/tmp/patchew-tester-tmp-ymcno5d3/src/include/qemu/compiler.h:57:34: error: dereferencing pointer to incomplete type ‘struct vfio_irq_info_cap_type’
   57 |         const typeof(((type *) 0)->member) *__mptr = (ptr);     \
      |                                  ^~
/var/tmp/patchew-tester-tmp-ymcno5d3/src/hw/vfio/common.c:1642:20: note: in expansion of macro ‘container_of’
 1642 |         cap_type = container_of(hdr, struct vfio_irq_info_cap_type, header);
      |                    ^~~~~~~~~~~~
/var/tmp/patchew-tester-tmp-ymcno5d3/src/include/qemu/compiler.h:57:54: error: initialization of ‘const int *’ from incompatible pointer type ‘struct vfio_info_cap_header *’ [-Werror=incompatible-pointer-types]
   57 |         const typeof(((type *) 0)->member) *__mptr = (ptr);     \
      |                                                      ^
/var/tmp/patchew-tester-tmp-ymcno5d3/src/hw/vfio/common.c:1642:20: note: in expansion of macro ‘container_of’
---
                 from /var/tmp/patchew-tester-tmp-ymcno5d3/src/include/glib-compat.h:32,
                 from /var/tmp/patchew-tester-tmp-ymcno5d3/src/include/qemu/osdep.h:140,
                 from /var/tmp/patchew-tester-tmp-ymcno5d3/src/hw/vfio/common.c:21:
/var/tmp/patchew-tester-tmp-ymcno5d3/src/include/qemu/compiler.h:58:37: error: invalid use of undefined type ‘struct vfio_irq_info_cap_type’
   58 |         (type *) ((char *) __mptr - offsetof(type, member));})
      |                                     ^~~~~~~~
/var/tmp/patchew-tester-tmp-ymcno5d3/src/hw/vfio/common.c:1642:20: note: in expansion of macro ‘container_of’
---
      |                    ^~~~~~~~~~~~
cc1: all warnings being treated as errors
/var/tmp/patchew-tester-tmp-ymcno5d3/src/hw/vfio/common.c: In function ‘vfio_get_irq_info_cap’:
/var/tmp/patchew-tester-tmp-ymcno5d3/src/hw/vfio/common.c:757:25: error: ‘VFIO_IRQ_INFO_FLAG_CAPS’ undeclared (first use in this function); did you mean ‘VFIO_REGION_INFO_FLAG_CAPS’?
  757 |     if (!(info->flags & VFIO_IRQ_INFO_FLAG_CAPS)) {
      |                         ^~~~~~~~~~~~~~~~~~~~~~~
      |                         VFIO_REGION_INFO_FLAG_CAPS
/var/tmp/patchew-tester-tmp-ymcno5d3/src/hw/vfio/common.c:757:25: note: each undeclared identifier is reported only once for each function it appears in
/var/tmp/patchew-tester-tmp-ymcno5d3/src/hw/vfio/common.c:761:26: error: ‘struct vfio_irq_info’ has no member named ‘cap_offset’
  761 |     for (hdr = ptr + info->cap_offset; hdr != ptr; hdr = ptr + hdr->next) {
      |                          ^~
/var/tmp/patchew-tester-tmp-ymcno5d3/src/hw/vfio/common.c: In function ‘vfio_get_dev_irq_info’:
/var/tmp/patchew-tester-tmp-ymcno5d3/src/hw/vfio/common.c:1636:44: error: ‘VFIO_IRQ_INFO_CAP_TYPE’ undeclared (first use in this function); did you mean ‘VFIO_REGION_INFO_CAP_TYPE’?
 1636 |         hdr = vfio_get_irq_info_cap(*info, VFIO_IRQ_INFO_CAP_TYPE);
      |                                            ^~~~~~~~~~~~~~~~~~~~~~
      |                                            VFIO_REGION_INFO_CAP_TYPE
In file included from /var/tmp/patchew-tester-tmp-ymcno5d3/src/include/qemu/osdep.h:51,
                 from /var/tmp/patchew-tester-tmp-ymcno5d3/src/hw/vfio/common.c:21:
/var/tmp/patchew-tester-tmp-ymcno5d3/src/include/qemu/compiler.h:57:34: error: dereferencing pointer to incomplete type ‘struct vfio_irq_info_cap_type’
   57 |         const typeof(((type *) 0)->member) *__mptr = (ptr);     \
      |                                  ^~
/var/tmp/patchew-tester-tmp-ymcno5d3/src/hw/vfio/common.c:1642:20: note: in expansion of macro ‘container_of’
 1642 |         cap_type = container_of(hdr, struct vfio_irq_info_cap_type, header);
      |                    ^~~~~~~~~~~~
/var/tmp/patchew-tester-tmp-ymcno5d3/src/include/qemu/compiler.h:57:54: error: initialization of ‘const int *’ from incompatible pointer type ‘struct vfio_info_cap_header *’ [-Werror=incompatible-pointer-types]
   57 |         const typeof(((type *) 0)->member) *__mptr = (ptr);     \
      |                                                      ^
/var/tmp/patchew-tester-tmp-ymcno5d3/src/hw/vfio/common.c:1642:20: note: in expansion of macro ‘container_of’
---
                 from /var/tmp/patchew-tester-tmp-ymcno5d3/src/include/glib-compat.h:32,
                 from /var/tmp/patchew-tester-tmp-ymcno5d3/src/include/qemu/osdep.h:140,
                 from /var/tmp/patchew-tester-tmp-ymcno5d3/src/hw/vfio/common.c:21:
/var/tmp/patchew-tester-tmp-ymcno5d3/src/include/qemu/compiler.h:58:37: error: invalid use of undefined type ‘struct vfio_irq_info_cap_type’
   58 |         (type *) ((char *) __mptr - offsetof(type, member));})
      |                                     ^~~~~~~~
/var/tmp/patchew-tester-tmp-ymcno5d3/src/hw/vfio/common.c:1642:20: note: in expansion of macro ‘container_of’


The full log is available at
http://patchew.org/logs/20190604095847.10532-1-tina.zhang@intel.com/testing.s390x/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
Re: [Qemu-devel] [RFC PATCH 0/3] hw/display: Refresh UI depending on vGPU page flip events
Posted by no-reply@patchew.org 4 years, 11 months ago
Patchew URL: https://patchew.org/QEMU/20190604095847.10532-1-tina.zhang@intel.com/



Hi,

This series failed the asan build test. Please find the testing commands and
their output below. If you have Docker installed, you can probably reproduce it
locally.

=== TEST SCRIPT BEGIN ===
#!/bin/bash
time make docker-test-debug@fedora TARGET_LIST=x86_64-softmmu J=14 NETWORK=1
=== TEST SCRIPT END ===

  CC      x86_64-softmmu/qapi/qapi-visit-target.o
  CC      x86_64-softmmu/qapi/qapi-visit.o
  CC      x86_64-softmmu/qapi/qapi-events-target.o
/tmp/qemu-test/src/hw/vfio/display.c:295:9: error: variable 'primary' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
    if (!dpy->event_flags ||
        ^~~~~~~~~~~~~~~~~~~~
/tmp/qemu-test/src/hw/vfio/display.c:341:35: note: uninitialized use occurs here
---
    VFIODMABuf *primary, *cursor;
                       ^
                        = NULL
/tmp/qemu-test/src/hw/vfio/display.c:601:43: error: use of undeclared identifier 'VFIO_IRQ_TYPE_GFX'
    ret = register_display_notifier(vdev, VFIO_IRQ_TYPE_GFX,
                                          ^
/tmp/qemu-test/src/hw/vfio/display.c:602:37: error: use of undeclared identifier 'VFIO_IRQ_SUBTYPE_GFX_PRI_PLANE_FLIP'
                                    VFIO_IRQ_SUBTYPE_GFX_PRI_PLANE_FLIP,
                                    ^
/tmp/qemu-test/src/hw/vfio/display.c:610:43: error: use of undeclared identifier 'VFIO_IRQ_TYPE_GFX'
    ret = register_display_notifier(vdev, VFIO_IRQ_TYPE_GFX,
                                          ^
/tmp/qemu-test/src/hw/vfio/display.c:611:36: error: use of undeclared identifier 'VFIO_IRQ_SUBTYPE_GFX_CUR_PLANE_FLIP'
                                   VFIO_IRQ_SUBTYPE_GFX_CUR_PLANE_FLIP,
                                   ^
/tmp/qemu-test/src/hw/vfio/display.c:672:39: error: use of undeclared identifier 'VFIO_IRQ_TYPE_GFX'
    unregister_display_notifier(vdev, VFIO_IRQ_TYPE_GFX,
                                      ^
/tmp/qemu-test/src/hw/vfio/display.c:673:33: error: use of undeclared identifier 'VFIO_IRQ_SUBTYPE_GFX_PRI_PLANE_FLIP'
                                VFIO_IRQ_SUBTYPE_GFX_PRI_PLANE_FLIP,
                                ^
/tmp/qemu-test/src/hw/vfio/display.c:676:39: error: use of undeclared identifier 'VFIO_IRQ_TYPE_GFX'
    unregister_display_notifier(vdev, VFIO_IRQ_TYPE_GFX,
                                      ^
/tmp/qemu-test/src/hw/vfio/display.c:677:33: error: use of undeclared identifier 'VFIO_IRQ_SUBTYPE_GFX_CUR_PLANE_FLIP'
                                VFIO_IRQ_SUBTYPE_GFX_CUR_PLANE_FLIP,
                                ^
9 errors generated.
/tmp/qemu-test/src/hw/vfio/common.c:757:25: error: use of undeclared identifier 'VFIO_IRQ_INFO_FLAG_CAPS'
    if (!(info->flags & VFIO_IRQ_INFO_FLAG_CAPS)) {
                        ^
/tmp/qemu-test/src/hw/vfio/common.c:761:28: error: no member named 'cap_offset' in 'struct vfio_irq_info'
    for (hdr = ptr + info->cap_offset; hdr != ptr; hdr = ptr + hdr->next) {
                     ~~~~  ^
/tmp/qemu-test/src/hw/vfio/common.c:1636:44: error: use of undeclared identifier 'VFIO_IRQ_INFO_CAP_TYPE'
        hdr = vfio_get_irq_info_cap(*info, VFIO_IRQ_INFO_CAP_TYPE);
                                           ^
/tmp/qemu-test/src/hw/vfio/common.c:1642:20: error: incomplete definition of type 'struct vfio_irq_info_cap_type'
        cap_type = container_of(hdr, struct vfio_irq_info_cap_type, header);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/qemu-test/src/include/qemu/compiler.h:57:34: note: expanded from macro 'container_of'
---
/tmp/qemu-test/src/hw/vfio/common.c:1630:16: note: forward declaration of 'struct vfio_irq_info_cap_type'
        struct vfio_irq_info_cap_type *cap_type;
               ^
/tmp/qemu-test/src/hw/vfio/common.c:1642:20: error: offsetof of incomplete type 'struct vfio_irq_info_cap_type'
        cap_type = container_of(hdr, struct vfio_irq_info_cap_type, header);
                   ^                 ~~~~~~
/tmp/qemu-test/src/include/qemu/compiler.h:58:37: note: expanded from macro 'container_of'
---
/tmp/qemu-test/src/hw/vfio/common.c:1630:16: note: forward declaration of 'struct vfio_irq_info_cap_type'
        struct vfio_irq_info_cap_type *cap_type;
               ^
/tmp/qemu-test/src/hw/vfio/common.c:1642:18: error: assigning to 'struct vfio_irq_info_cap_type *' from incompatible type 'void'
        cap_type = container_of(hdr, struct vfio_irq_info_cap_type, header);
                 ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/qemu-test/src/hw/vfio/common.c:1644:21: error: incomplete definition of type 'struct vfio_irq_info_cap_type'
        if (cap_type->type == type && cap_type->subtype == subtype) {
            ~~~~~~~~^
/tmp/qemu-test/src/hw/vfio/common.c:1630:16: note: forward declaration of 'struct vfio_irq_info_cap_type'
        struct vfio_irq_info_cap_type *cap_type;
               ^
/tmp/qemu-test/src/hw/vfio/common.c:1644:47: error: incomplete definition of type 'struct vfio_irq_info_cap_type'
        if (cap_type->type == type && cap_type->subtype == subtype) {
                                      ~~~~~~~~^
/tmp/qemu-test/src/hw/vfio/common.c:1630:16: note: forward declaration of 'struct vfio_irq_info_cap_type'


The full log is available at
http://patchew.org/logs/20190604095847.10532-1-tina.zhang@intel.com/testing.asan/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com