mbox

[PULL,v2,00/34] pc, pci, virtio: features, fixes, cleanups

Message ID 1516121887-32738-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 Jan. 16, 2018, 5:46 p.m. UTC
Changes from v1:
    32 build fix
    vhost-user-blk build fix
    s390 qom fix
    include mem slot limit fix

The following changes since commit f521eeee3bd060b460c99e605472b7e03967db43:

  Merge remote-tracking branch 'remotes/juanquintela/tags/migration/20180115' into staging (2018-01-15 13:17:47 +0000)

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 1d9dc60062ae05375c080bbe2db5a5c3c4f495bc:

  vhost: used_memslots refactoring (2018-01-16 18:52:03 +0200)

----------------------------------------------------------------
pc, pci, virtio: features, fixes, cleanups

A bunch of fixes, cleanus and new features all over the place.

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

----------------------------------------------------------------
Changpeng Liu (4):
      vhost-user: add new vhost user messages to support virtio config space
      vhost-user-blk: introduce a new vhost-user-blk host device
      contrib/libvhost-user: enable virtio config space messages
      contrib/vhost-user-blk: introduce a vhost-user-blk sample application

Dou Liyang (2):
      ACPI/unit-test: Add a testcase for RAM allocation in numa node
      hw/acpi-build: Make next_base easy to follow

Dr. David Alan Gilbert (3):
      vhost: Build temporary section list and deref after commit
      vhost: Simplify ring verification checks
      vhost: Merge sections added to temporary list

Gal Hammer (3):
      qemu: add a cleanup callback function to EventNotifier
      virtio: postpone the execution of event_notifier_cleanup function
      virtio: improve virtio devices initialization time

Igor Mammedov (4):
      tests: acpi: move tested tables array allocation outside of test_acpi_dsdt_table()
      tests: acpi: init table descriptor in test_dst_table()
      tests: acpi: rename test_acpi_tables()/test_dst_table() to reflect its usage
      tests: acpi: add comments to fetch_rsdt_referenced_tables/data->tables usage

Jay Zhou (3):
      vhost: remove assertion to prevent crash
      vhost: fix memslot limit check
      vhost: used_memslots refactoring

Marcel Apfelbaum (2):
      MAINTAINERS: Add myself as maintainer to X86 machines
      hw/pci-bridge: fix QEMU crash because of pcie-root-port

Maxime Coquelin (6):
      vhost-user: fix multiple queue specification
      vhost-user-test: fix features mask
      vhost-user-test: extract read-guest-mem test from main loop
      vhost-user-test: setup virtqueues in all tests
      vhost-user-test: make features mask an init_virtio_dev() argument
      vhost-user-test: use init_virtio_dev in multiqueue test

Michael S. Tsirkin (2):
      vhost-user: factor out msg head and payload
      vhost-user: fix misaligned access to payload

Mohammed Gamal (2):
      x86_iommu: Move machine check to x86_iommu_realize()
      x86_iommu: check if machine has PCI bus

Prasad Singamsetty (2):
      intel-iommu: Redefine macros to enable supporting 48 bit address width
      intel-iommu: Extend address width to 48 bits

Yuval Shaia (1):
      pci/shpc: Move function to generic header file

 docs/interop/vhost-user.txt             |  61 +++-
 Makefile                                |   3 +
 default-configs/pci.mak                 |   1 +
 default-configs/s390x-softmmu.mak       |   1 +
 contrib/libvhost-user/libvhost-user.h   |  33 ++
 hw/i386/intel_iommu_internal.h          |  43 ++-
 hw/virtio/virtio-pci.h                  |  18 ++
 include/hw/i386/intel_iommu.h           |   7 +-
 include/hw/virtio/vhost-backend.h       |  18 +-
 include/hw/virtio/vhost-user-blk.h      |  41 +++
 include/hw/virtio/vhost.h               |  17 +
 include/qemu/event_notifier.h           |   1 +
 include/qemu/host-utils.h               |  10 +
 accel/kvm/kvm-all.c                     |   4 +
 contrib/libvhost-user/libvhost-user.c   |  42 +++
 contrib/vhost-user-blk/vhost-user-blk.c | 545 ++++++++++++++++++++++++++++++++
 hw/block/vhost-user-blk.c               | 359 +++++++++++++++++++++
 hw/i386/acpi-build.c                    |   5 +-
 hw/i386/amd_iommu.c                     |  13 +-
 hw/i386/intel_iommu.c                   | 136 ++++----
 hw/i386/x86-iommu.c                     |  13 +
 hw/pci-bridge/gen_pcie_root_port.c      |   7 +-
 hw/pci/shpc.c                           |  13 +-
 hw/virtio/vhost-backend.c               |  15 +-
 hw/virtio/vhost-user.c                  | 387 ++++++++++++++++-------
 hw/virtio/vhost.c                       | 261 ++++++++++-----
 hw/virtio/virtio-bus.c                  |  19 +-
 hw/virtio/virtio-pci.c                  |  55 ++++
 hw/virtio/virtio.c                      |   5 +
 tests/bios-tables-test.c                |  50 ++-
 tests/vhost-user-test.c                 | 171 +++++-----
 util/event_notifier-posix.c             |   5 +-
 util/event_notifier-win32.c             |   2 +
 .gitignore                              |   1 +
 MAINTAINERS                             |   1 +
 Makefile.objs                           |   1 +
 contrib/vhost-user-blk/Makefile.objs    |   1 +
 hw/block/Makefile.objs                  |   3 +
 hw/virtio/trace-events                  |   4 +
 tests/acpi-test-data/pc/DSDT.numamem    | Bin 0 -> 5150 bytes
 tests/acpi-test-data/pc/SRAT.numamem    | Bin 0 -> 224 bytes
 tests/acpi-test-data/q35/DSDT.numamem   | Bin 0 -> 7834 bytes
 tests/acpi-test-data/q35/SRAT.numamem   | Bin 0 -> 224 bytes
 43 files changed, 1968 insertions(+), 404 deletions(-)
 create mode 100644 include/hw/virtio/vhost-user-blk.h
 create mode 100644 contrib/vhost-user-blk/vhost-user-blk.c
 create mode 100644 hw/block/vhost-user-blk.c
 create mode 100644 contrib/vhost-user-blk/Makefile.objs
 create mode 100644 tests/acpi-test-data/pc/DSDT.numamem
 create mode 100644 tests/acpi-test-data/pc/SRAT.numamem
 create mode 100644 tests/acpi-test-data/q35/DSDT.numamem
 create mode 100644 tests/acpi-test-data/q35/SRAT.numamem

Comments

Peter Maydell Jan. 18, 2018, 10:09 a.m. UTC | #1
On 16 January 2018 at 17:46, Michael S. Tsirkin <mst@redhat.com> wrote:
>
> Changes from v1:
>     32 build fix
>     vhost-user-blk build fix
>     s390 qom fix
>     include mem slot limit fix
>
> The following changes since commit f521eeee3bd060b460c99e605472b7e03967db43:
>
>   Merge remote-tracking branch 'remotes/juanquintela/tags/migration/20180115' into staging (2018-01-15 13:17:47 +0000)
>
> 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 1d9dc60062ae05375c080bbe2db5a5c3c4f495bc:
>
>   vhost: used_memslots refactoring (2018-01-16 18:52:03 +0200)
>
> ----------------------------------------------------------------
> pc, pci, virtio: features, fixes, cleanups
>
> A bunch of fixes, cleanus and new features all over the place.
>
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

Hi -- this pullreq triggers a lot of alignment warnings for vhost
in the clang runtime sanitizer:

/home/petmay01/linaro/qemu-for-merges/hw/virtio/vhost-user.c:325:22:
runtime error: member access within misaligned address 0x7fff9c7bdf1c
for type 'VhostUserMemory' (aka
 'struct VhostUserMemory'), which requires 8 byte alignment
0x7fff9c7bdf1c: note: pointer points here
  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  85 54 c8 a8 5c 55
00 00  01 cf 9f ac 5c 55 00 00
              ^
/home/petmay01/linaro/qemu-for-merges/hw/virtio/vhost-user.c:325:22:
runtime error: store to misaligned address 0x7fff9c7bdf1c for type
'uint32_t' (aka 'unsigned int'), w
hich requires 8 byte alignment
0x7fff9c7bdf1c: note: pointer points here
  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  85 54 c8 a8 5c 55
00 00  01 cf 9f ac 5c 55 00 00
              ^
/home/petmay01/linaro/qemu-for-merges/hw/virtio/vhost-user.c:335:22:
runtime error: member access within misaligned address 0x7fff9c7bdf1c
for type 'VhostUserMemory' (aka
 'struct VhostUserMemory'), which requires 8 byte alignment
0x7fff9c7bdf1c: note: pointer points here
  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  85 54 c8 a8 5c 55
00 00  01 cf 9f ac 5c 55 00 00
              ^
/home/petmay01/linaro/qemu-for-merges/hw/virtio/vhost-user.c:335:22:
runtime error: load of misaligned address 0x7fff9c7bdf1c for type
'uint32_t' (aka 'unsigned int'), wh
ich requires 8 byte alignment
0x7fff9c7bdf1c: note: pointer points here
  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  85 54 c8 a8 5c 55
00 00  01 cf 9f ac 5c 55 00 00
              ^

(and more)

thanks
-- PMM
Michael S. Tsirkin Jan. 18, 2018, 7:30 p.m. UTC | #2
On Thu, Jan 18, 2018 at 10:09:09AM +0000, Peter Maydell wrote:
> On 16 January 2018 at 17:46, Michael S. Tsirkin <mst@redhat.com> wrote:
> >
> > Changes from v1:
> >     32 build fix
> >     vhost-user-blk build fix
> >     s390 qom fix
> >     include mem slot limit fix
> >
> > The following changes since commit f521eeee3bd060b460c99e605472b7e03967db43:
> >
> >   Merge remote-tracking branch 'remotes/juanquintela/tags/migration/20180115' into staging (2018-01-15 13:17:47 +0000)
> >
> > 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 1d9dc60062ae05375c080bbe2db5a5c3c4f495bc:
> >
> >   vhost: used_memslots refactoring (2018-01-16 18:52:03 +0200)
> >
> > ----------------------------------------------------------------
> > pc, pci, virtio: features, fixes, cleanups
> >
> > A bunch of fixes, cleanus and new features all over the place.
> >
> > Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> 
> Hi -- this pullreq triggers a lot of alignment warnings for vhost
> in the clang runtime sanitizer:

Are these build or make check errors?

> /home/petmay01/linaro/qemu-for-merges/hw/virtio/vhost-user.c:325:22:
> runtime error: member access within misaligned address 0x7fff9c7bdf1c
> for type 'VhostUserMemory' (aka
>  'struct VhostUserMemory'), which requires 8 byte alignment
> 0x7fff9c7bdf1c: note: pointer points here
>   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  85 54 c8 a8 5c 55
> 00 00  01 cf 9f ac 5c 55 00 00
>               ^
> /home/petmay01/linaro/qemu-for-merges/hw/virtio/vhost-user.c:325:22:
> runtime error: store to misaligned address 0x7fff9c7bdf1c for type
> 'uint32_t' (aka 'unsigned int'), w
> hich requires 8 byte alignment
> 0x7fff9c7bdf1c: note: pointer points here
>   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  85 54 c8 a8 5c 55
> 00 00  01 cf 9f ac 5c 55 00 00
>               ^
> /home/petmay01/linaro/qemu-for-merges/hw/virtio/vhost-user.c:335:22:
> runtime error: member access within misaligned address 0x7fff9c7bdf1c
> for type 'VhostUserMemory' (aka
>  'struct VhostUserMemory'), which requires 8 byte alignment
> 0x7fff9c7bdf1c: note: pointer points here
>   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  85 54 c8 a8 5c 55
> 00 00  01 cf 9f ac 5c 55 00 00
>               ^
> /home/petmay01/linaro/qemu-for-merges/hw/virtio/vhost-user.c:335:22:
> runtime error: load of misaligned address 0x7fff9c7bdf1c for type
> 'uint32_t' (aka 'unsigned int'), wh
> ich requires 8 byte alignment
> 0x7fff9c7bdf1c: note: pointer points here
>   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  85 54 c8 a8 5c 55
> 00 00  01 cf 9f ac 5c 55 00 00
>               ^
> 
> (and more)
> 
> thanks
> -- PMM
Michael S. Tsirkin Jan. 18, 2018, 8:48 p.m. UTC | #3
On Thu, Jan 18, 2018 at 10:09:09AM +0000, Peter Maydell wrote:
> On 16 January 2018 at 17:46, Michael S. Tsirkin <mst@redhat.com> wrote:
> >
> > Changes from v1:
> >     32 build fix
> >     vhost-user-blk build fix
> >     s390 qom fix
> >     include mem slot limit fix
> >
> > The following changes since commit f521eeee3bd060b460c99e605472b7e03967db43:
> >
> >   Merge remote-tracking branch 'remotes/juanquintela/tags/migration/20180115' into staging (2018-01-15 13:17:47 +0000)
> >
> > 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 1d9dc60062ae05375c080bbe2db5a5c3c4f495bc:
> >
> >   vhost: used_memslots refactoring (2018-01-16 18:52:03 +0200)
> >
> > ----------------------------------------------------------------
> > pc, pci, virtio: features, fixes, cleanups
> >
> > A bunch of fixes, cleanus and new features all over the place.
> >
> > Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> 
> Hi -- this pullreq triggers a lot of alignment warnings for vhost
> in the clang runtime sanitizer:

I couldn't reproduce - sent v4 on an off chance it's gone there.
Could you try that one pls?
Peter Maydell Jan. 19, 2018, 10:13 a.m. UTC | #4
On 18 January 2018 at 19:30, Michael S. Tsirkin <mst@redhat.com> wrote:
> On Thu, Jan 18, 2018 at 10:09:09AM +0000, Peter Maydell wrote:
>> Hi -- this pullreq triggers a lot of alignment warnings for vhost
>> in the clang runtime sanitizer:
>
> Are these build or make check errors?

They're runtime, so they fire during make check.

thanks
-- PMM