On 10/28/20 11:07 AM, Peter Maydell wrote:
On Mon, 26 Oct 2020 at 19:39, Alex Williamson
<alex.william...@redhat.com> wrote:
The following changes since commit a5fac424c76d6401ecde4ecb7d846e656d0d6e89:
Merge remote-tracking branch
'remotes/stefanha-gitlab/tags/block-pull-request' into staging (2020-10-26
10:33:59 +0000)
are available in the Git repository at:
git://github.com/awilliam/qemu-vfio.git tags/vfio-update-20201026.0
for you to fetch changes up to 5219bf8e0fa86573427aa8812bbfe93d83c3d664:
vfio: fix incorrect print type (2020-10-26 12:07:46 -0600)
----------------------------------------------------------------
VFIO update 2020-10-26
* Migration support (Kirti Wankhede)
* s390 DMA limiting (Matthew Rosato)
* zPCI hardware info (Matthew Rosato)
* Lock guard (Amey Narkhede)
* Print fixes (Zhengui li)
I retried the merge of this after the revert from Max, and it
no longer gives merge conflicts, but it has compile errors:
On FreeBSD, OpenBSD, NetBSD, OSX and Windows:
In file included from ../src/hw/arm/sysbus-fdt.c:35:
In file included from
/usr/home/qemu/qemu-test.ffr5Sp/src/include/hw/vfio/vfio-platform.h:20:
/usr/home/qemu/qemu-test.ffr5Sp/src/include/hw/vfio/vfio-common.h:201:37:
warning: declaration of 'struct vfio_iommu_type1_info' will not be
visible outside of this function [-Wvisibility]
bool vfio_get_info_dma_avail(struct vfio_iommu_type1_info *info,
^
Alex, for this one I think the definition of
bool vfio_get_info_dma_avail(struct vfio_iommu_type1_info *info,
unsigned int *avail);
in vfio-common.h needs to be behind the #ifdef CONFIG_LINUX as that's
the only case where we include vfio.h where vfio_iommu_type1_info is
defined.
On clang x86-64 Linux:
../../hw/vfio/migration.c:737:42: error: equality comparison with
extraneous parentheses [-Werror,-Wparentheses-equality]
if ((vbasedev->migration->vm_running == running)) {
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
../../hw/vfio/migration.c:737:42: note: remove extraneous parentheses
around the comparison to silence this warning
if ((vbasedev->migration->vm_running == running)) {
~ ^ ~
../../hw/vfio/migration.c:737:42: note: use '=' to turn this equality
comparison into an assignment
if ((vbasedev->migration->vm_running == running)) {
^~
=
On AArch32:
../../hw/vfio/migration.c: In function 'vfio_mig_access':
../../hw/vfio/migration.c:58:68: error: format '%lx' expects argument
of type 'long unsigned int', but argument 5 has type 'off_t {aka long
long int}' [-Werror=format=]
error_report("vfio_mig_%s %d byte %s: failed at offset 0x%lx, err:
%s",
~~^
%llx
cc1: all warnings being treated as errors
On PPC64:
../../hw/vfio/common.c: In function ‘vfio_dma_unmap_bitmap’:
../../hw/vfio/common.c:400:9: error: format ‘%llx’ expects argument of
type ‘long long unsigned int’, but argument 2 has type ‘__u64’
[-Werror=format=]
error_report("UNMAP: Size of bitmap too big 0x%llx", bitmap->size);
^
../../hw/vfio/common.c: In function ‘vfio_get_dirty_bitmap’:
../../hw/vfio/common.c:1003:17: error: format ‘%llx’ expects argument
of type ‘long long unsigned int’, but argument 2 has type ‘__u64’
[-Werror=format=]
range->iova, range->size, errno);
^
../../hw/vfio/common.c:1003:17: error: format ‘%llx’ expects argument
of type ‘long long unsigned int’, but argument 3 has type ‘__u64’
[-Werror=format=]
thanks
-- PMM