mbox

[PULL,00/25] virtio,pc features, fixes

Message ID 1444338957-15293-1-git-send-email-mst@redhat.com
State New
Headers show

Pull-request

git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream

Message

Michael S. Tsirkin Oct. 8, 2015, 9:16 p.m. UTC
The following changes since commit 1d27b91723c252d9a97151dc1959cfd89c5816cb:

  Merge remote-tracking branch 'remotes/awilliam/tags/vfio-update-20151007.0' into staging (2015-10-08 16:50:34 +0100)

are available in the git repository at:

  git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream

for you to fetch changes up to 530ec3c089f7544428e0be68c24b527073192cf1:

  intel_iommu: Add support for translation for devices behind bridges (2015-10-08 23:59:51 +0300)

----------------------------------------------------------------
virtio,pc features, fixes

New features:
    vhost-user migration support
    VT-d support for devices behind a bridge

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

----------------------------------------------------------------
Knut Omang (1):
      intel_iommu: Add support for translation for devices behind bridges

Marc-André Lureau (21):
      configure: probe for memfd
      linux-headers: add unistd.h
      util: add linux-only memfd fallback
      util: add memfd helpers
      util: add fallback for qemu_memfd_alloc()
      vhost: document log resizing
      vhost: add vhost_set_log_base op
      vhost-user: add vhost_user_requires_shm_log()
      vhost: alloc shareable log
      vhost-user: send log shm fd along with log_base
      vhost-user: add a migration blocker
      vhost: use a function for each call
      vhost-user: document migration log
      net: add trace_vhost_user_event
      vhost: add migration block if memfd failed
      vhost-user-test: move wait_for_fds() out
      vhost-user-test: remove useless static check
      vhost-user-test: wrap server in TestServer struct
      vhost-user-test: learn to tweak various qemu arguments
      vhost-user-test: add live-migration test
      vhost-user-test: check ownership during migration

Thibaut Collet (3):
      vhost user: add support of live migration
      vhost user: add rarp sending after live migration for legacy guest
      vhost-user: use an enum helper for features mask

 configure                          |   19 +
 include/hw/i386/intel_iommu.h      |   16 +-
 include/hw/virtio/vhost-backend.h  |   77 ++-
 include/hw/virtio/vhost.h          |   15 +-
 include/net/vhost_net.h            |    1 +
 include/qemu/memfd.h               |   26 +
 linux-headers/asm-arm/unistd.h     |  448 +++++++++++++++
 linux-headers/asm-arm64/kvm.h      |   37 +-
 linux-headers/asm-arm64/unistd.h   |   16 +
 linux-headers/asm-mips/unistd.h    | 1063 ++++++++++++++++++++++++++++++++++++
 linux-headers/asm-powerpc/unistd.h |  392 +++++++++++++
 linux-headers/asm-s390/unistd.h    |  404 ++++++++++++++
 linux-headers/asm-x86/unistd.h     |   15 +
 linux-headers/asm-x86/unistd_32.h  |  377 +++++++++++++
 linux-headers/asm-x86/unistd_64.h  |  330 +++++++++++
 linux-headers/asm-x86/unistd_x32.h |  319 +++++++++++
 hw/i386/intel_iommu.c              |   89 ++-
 hw/net/vhost_net.c                 |   35 +-
 hw/pci-host/q35.c                  |   25 +-
 hw/scsi/vhost-scsi.c               |    7 +-
 hw/virtio/vhost-backend.c          |  121 +++-
 hw/virtio/vhost-user.c             |  572 ++++++++++++-------
 hw/virtio/vhost.c                  |  121 ++--
 net/vhost-user.c                   |   34 +-
 tests/vhost-user-test.c            |  372 +++++++++++--
 util/memfd.c                       |  165 ++++++
 docs/specs/vhost-user.txt          |   63 ++-
 scripts/update-linux-headers.sh    |    7 +-
 trace-events                       |    3 +
 util/Makefile.objs                 |    8 +-
 30 files changed, 4802 insertions(+), 375 deletions(-)
 create mode 100644 include/qemu/memfd.h
 create mode 100644 linux-headers/asm-arm/unistd.h
 create mode 100644 linux-headers/asm-arm64/unistd.h
 create mode 100644 linux-headers/asm-mips/unistd.h
 create mode 100644 linux-headers/asm-powerpc/unistd.h
 create mode 100644 linux-headers/asm-s390/unistd.h
 create mode 100644 linux-headers/asm-x86/unistd.h
 create mode 100644 linux-headers/asm-x86/unistd_32.h
 create mode 100644 linux-headers/asm-x86/unistd_64.h
 create mode 100644 linux-headers/asm-x86/unistd_x32.h
 create mode 100644 util/memfd.c

Comments

Peter Maydell Oct. 9, 2015, 11:05 a.m. UTC | #1
On 8 October 2015 at 22:16, Michael S. Tsirkin <mst@redhat.com> wrote:
> The following changes since commit 1d27b91723c252d9a97151dc1959cfd89c5816cb:
>
>   Merge remote-tracking branch 'remotes/awilliam/tags/vfio-update-20151007.0' into staging (2015-10-08 16:50:34 +0100)
>
> are available in the git repository at:
>
>   git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream
>
> for you to fetch changes up to 530ec3c089f7544428e0be68c24b527073192cf1:
>
>   intel_iommu: Add support for translation for devices behind bridges (2015-10-08 23:59:51 +0300)
>
> ----------------------------------------------------------------
> virtio,pc features, fixes
>
> New features:
>     vhost-user migration support
>     VT-d support for devices behind a bridge
>
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

I'm afraid this fails to build on OSX:

/Users/pm215/src/qemu-for-merges/util/memfd.c:81:34: error: use of
undeclared identifier 'MFD_ALLOW_SEALING'
        mfd = memfd_create(name, MFD_ALLOW_SEALING | MFD_CLOEXEC);
                                 ^
/Users/pm215/src/qemu-for-merges/util/memfd.c:81:54: error: use of
undeclared identifier 'MFD_CLOEXEC'
        mfd = memfd_create(name, MFD_ALLOW_SEALING | MFD_CLOEXEC);
                                                     ^
/Users/pm215/src/qemu-for-merges/util/memfd.c:86:34: error: use of
undeclared identifier 'MFD_CLOEXEC'
        mfd = memfd_create(name, MFD_CLOEXEC);
                                 ^
/Users/pm215/src/qemu-for-merges/util/memfd.c:91:13: warning: implicit
declaration of function 'ftruncate' is invalid in C99
[-Wimplicit-function-declaration]
        if (ftruncate(mfd, size) == -1) {
            ^
/Users/pm215/src/qemu-for-merges/util/memfd.c:93:13: warning: implicit
declaration of function 'close' is invalid in C99
[-Wimplicit-function-declaration]
            close(mfd);
            ^
/Users/pm215/src/qemu-for-merges/util/memfd.c:108:9: warning: implicit
declaration of function 'unlink' is invalid in C99
[-Wimplicit-function-declaration]
        unlink(fname);
        ^
3 warnings and 3 errors generated.


and also on AArch64 Linux:

/home/petmay01/qemu/util/memfd.c: In function ‘memfd_create’:
/home/petmay01/qemu/util/memfd.c:57:20: error: ‘__NR_memfd_create’
undeclared (first use in this function)
     return syscall(__NR_memfd_create, name, flags);
                    ^
/home/petmay01/qemu/util/memfd.c:57:20: note: each undeclared
identifier is reported only once for each function it appears in
/home/petmay01/qemu/util/memfd.c:58:1: error: control reaches end of
non-void function [-Werror=return-type]
 }
 ^
cc1: all warnings being treated as errors

thanks
-- PMM
Peter Maydell Oct. 9, 2015, 11:09 a.m. UTC | #2
On 9 October 2015 at 12:05, Peter Maydell <peter.maydell@linaro.org> wrote:
> /home/petmay01/qemu/util/memfd.c: In function ‘memfd_create’:
> /home/petmay01/qemu/util/memfd.c:57:20: error: ‘__NR_memfd_create’
> undeclared (first use in this function)
>      return syscall(__NR_memfd_create, name, flags);
>                     ^

...also given that this warning is making it nice and obvious
that this is adding a new syscall, does it need to be added
to the whitelist in qemu-seccomp.c?

thanks
-- PMM
Eduardo Otubo Oct. 9, 2015, 1:10 p.m. UTC | #3
On Fri, Oct 09, 2015 at 12=09=49PM +0100, Peter Maydell wrote:
> On 9 October 2015 at 12:05, Peter Maydell <peter.maydell@linaro.org> wrote:
> > /home/petmay01/qemu/util/memfd.c: In function ‘memfd_create’:
> > /home/petmay01/qemu/util/memfd.c:57:20: error: ‘__NR_memfd_create’
> > undeclared (first use in this function)
> >      return syscall(__NR_memfd_create, name, flags);
> >                     ^
> 
> ...also given that this warning is making it nice and obvious
> that this is adding a new syscall, does it need to be added
> to the whitelist in qemu-seccomp.c?
> 

Yes, it sure does. I'll prepare a patch for that right away. Thanks for
pointing that, Peter. I didn't notice.
Peter Maydell Oct. 9, 2015, 1:37 p.m. UTC | #4
Adding Marc-André to the cc list since the mail probably hasn't got
through our list server yet...


On 9 October 2015 at 12:05, Peter Maydell <peter.maydell@linaro.org> wrote:
> On 8 October 2015 at 22:16, Michael S. Tsirkin <mst@redhat.com> wrote:
>> The following changes since commit 1d27b91723c252d9a97151dc1959cfd89c5816cb:
>>
>>   Merge remote-tracking branch 'remotes/awilliam/tags/vfio-update-20151007.0' into staging (2015-10-08 16:50:34 +0100)
>>
>> are available in the git repository at:
>>
>>   git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream
>>
>> for you to fetch changes up to 530ec3c089f7544428e0be68c24b527073192cf1:
>>
>>   intel_iommu: Add support for translation for devices behind bridges (2015-10-08 23:59:51 +0300)
>>
>> ----------------------------------------------------------------
>> virtio,pc features, fixes
>>
>> New features:
>>     vhost-user migration support
>>     VT-d support for devices behind a bridge
>>
>> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
>
> I'm afraid this fails to build on OSX:
>
> /Users/pm215/src/qemu-for-merges/util/memfd.c:81:34: error: use of
> undeclared identifier 'MFD_ALLOW_SEALING'
>         mfd = memfd_create(name, MFD_ALLOW_SEALING | MFD_CLOEXEC);
>                                  ^
> /Users/pm215/src/qemu-for-merges/util/memfd.c:81:54: error: use of
> undeclared identifier 'MFD_CLOEXEC'
>         mfd = memfd_create(name, MFD_ALLOW_SEALING | MFD_CLOEXEC);
>                                                      ^
> /Users/pm215/src/qemu-for-merges/util/memfd.c:86:34: error: use of
> undeclared identifier 'MFD_CLOEXEC'
>         mfd = memfd_create(name, MFD_CLOEXEC);
>                                  ^
> /Users/pm215/src/qemu-for-merges/util/memfd.c:91:13: warning: implicit
> declaration of function 'ftruncate' is invalid in C99
> [-Wimplicit-function-declaration]
>         if (ftruncate(mfd, size) == -1) {
>             ^
> /Users/pm215/src/qemu-for-merges/util/memfd.c:93:13: warning: implicit
> declaration of function 'close' is invalid in C99
> [-Wimplicit-function-declaration]
>             close(mfd);
>             ^
> /Users/pm215/src/qemu-for-merges/util/memfd.c:108:9: warning: implicit
> declaration of function 'unlink' is invalid in C99
> [-Wimplicit-function-declaration]
>         unlink(fname);
>         ^
> 3 warnings and 3 errors generated.
>
>
> and also on AArch64 Linux:
>
> /home/petmay01/qemu/util/memfd.c: In function ‘memfd_create’:
> /home/petmay01/qemu/util/memfd.c:57:20: error: ‘__NR_memfd_create’
> undeclared (first use in this function)
>      return syscall(__NR_memfd_create, name, flags);
>                     ^
> /home/petmay01/qemu/util/memfd.c:57:20: note: each undeclared
> identifier is reported only once for each function it appears in
> /home/petmay01/qemu/util/memfd.c:58:1: error: control reaches end of
> non-void function [-Werror=return-type]
>  }
>  ^
> cc1: all warnings being treated as errors
>
> thanks
> -- PMM

-- PMM