mbox

[PULL,v5,00/22] virtio, vhost, pci: fixes, features

Message ID 1485893872-26524-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. 31, 2017, 8:18 p.m. UTC
The following changes since commit a0def594286d9110a6035e02eef558cf3cf5d847:

  Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging (2017-01-30 10:23:20 +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 4f81928e550032f758c9b5207e403b3671da0eed:

  arm: add trailing ; after MISMATCH_CHECK (2017-01-31 22:16:39 +0200)

----------------------------------------------------------------
virtio, vhost, pci: fixes, features

generic pci root port support
disable shpc by default
safer version of ARRAY_SIZE and QEMU_BUILD_BUG_ON
fixes and cleanups all over the place

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

----------------------------------------------------------------
Cao jin (3):
      msix: Follow CODING_STYLE
      hcd-xhci: check & correct param before using it
      pci: Convert msix_init() to Error and fix callers

Haozhong Zhang (1):
      hw/i386: check if nvdimm is enabled before plugging

Jason Wang (1):
      intel_iommu: fix and simplify size calculation in process_device_iotlb_desc()

Marc-André Lureau (1):
      vhost-user: delete chardev on cleanup

Marcel Apfelbaum (4):
      hw/pcie: Introduce a base class for PCI Express Root Ports
      hw/ioh3420: derive from PCI Express Root Port base class
      hw/pcie: Introduce Generic PCI Express Root Port
      hw/pci: disable pci-bridge's shpc by default

Michael S. Tsirkin (11):
      compiler: drop ; after BUILD_BUG_ON
      qxl: switch to constants within BUILD_BUG_ON
      ppc: switch to constants within BUILD_BUG_ON
      QEMU_BUILD_BUG_ON: use __COUNTER__
      compiler: rework BUG_ON using a struct
      compiler: expression version of QEMU_BUILD_BUG_ON
      ARRAY_SIZE: check that argument is an array
      pci: mark ROMs read-only
      vhost: skip ROM sections
      arm: better stub version for MISMATCH_CHECK
      arm: add trailing ; after MISMATCH_CHECK

Paolo Bonzini (1):
      virtio: make virtio_should_notify static

 default-configs/arm-softmmu.mak    |   1 +
 default-configs/i386-softmmu.mak   |   1 +
 default-configs/x86_64-softmmu.mak |   1 +
 include/hw/compat.h                |   4 +
 include/hw/pci/msix.h              |   5 +-
 include/hw/pci/pci.h               |   1 +
 include/hw/pci/pcie_port.h         |  19 +++++
 include/hw/virtio/virtio.h         |   1 -
 include/qemu/compiler.h            |  16 +++-
 include/qemu/osdep.h               |   9 +-
 target/arm/kvm-consts.h            | 102 +++++++++++-----------
 hw/block/nvme.c                    |   2 +-
 hw/display/qxl.c                   |   9 +-
 hw/i386/intel_iommu.c              |  10 ++-
 hw/i386/pc.c                       |   5 ++
 hw/misc/ivshmem.c                  |   8 +-
 hw/net/e1000e.c                    |   2 +-
 hw/net/rocker/rocker.c             |   4 +-
 hw/net/vmxnet3.c                   |   2 +-
 hw/pci-bridge/gen_pcie_root_port.c |  87 +++++++++++++++++++
 hw/pci-bridge/ioh3420.c            | 121 ++++----------------------
 hw/pci-bridge/pci_bridge_dev.c     |   2 +-
 hw/pci-bridge/pcie_root_port.c     | 171 +++++++++++++++++++++++++++++++++++++
 hw/pci/msix.c                      |  44 ++++++++--
 hw/pci/pci.c                       |   2 +-
 hw/ppc/spapr.c                     |  14 +--
 hw/scsi/megasas.c                  |   4 +-
 hw/usb/hcd-xhci.c                  |  41 +++++----
 hw/vfio/pci.c                      |   8 +-
 hw/virtio/vhost.c                  |   3 +-
 hw/virtio/virtio-pci.c             |   4 +-
 hw/virtio/virtio.c                 |   2 +-
 net/vhost-user.c                   |   3 +
 hw/pci-bridge/Makefile.objs        |   1 +
 34 files changed, 490 insertions(+), 219 deletions(-)
 create mode 100644 hw/pci-bridge/gen_pcie_root_port.c
 create mode 100644 hw/pci-bridge/pcie_root_port.c

Comments

Peter Maydell Feb. 2, 2017, 1:56 p.m. UTC | #1
On 31 January 2017 at 20:18, Michael S. Tsirkin <mst@redhat.com> wrote:
> The following changes since commit a0def594286d9110a6035e02eef558cf3cf5d847:
>
>   Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging (2017-01-30 10:23:20 +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 4f81928e550032f758c9b5207e403b3671da0eed:
>
>   arm: add trailing ; after MISMATCH_CHECK (2017-01-31 22:16:39 +0200)
>
> ----------------------------------------------------------------
> virtio, vhost, pci: fixes, features
>
> generic pci root port support
> disable shpc by default
> safer version of ARRAY_SIZE and QEMU_BUILD_BUG_ON
> fixes and cleanups all over the place
>
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
>

Applied, thanks.

-- PMM
Peter Maydell Feb. 2, 2017, 4:25 p.m. UTC | #2
On 2 February 2017 at 13:56, Peter Maydell <peter.maydell@linaro.org> wrote:
> On 31 January 2017 at 20:18, Michael S. Tsirkin <mst@redhat.com> wrote:
>> virtio, vhost, pci: fixes, features
>>
>> generic pci root port support
>> disable shpc by default
>> safer version of ARRAY_SIZE and QEMU_BUILD_BUG_ON
>> fixes and cleanups all over the place
>>
>> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

> Applied, thanks.

...travis builds now fail for the --enable-tcg-interpreter config:
https://travis-ci.org/qemu/qemu/jobs/197648661

In file included from /home/travis/build/qemu/qemu/tcg/tcg.c:255:0:
/home/travis/build/qemu/qemu/tcg/tci/tcg-target.inc.c: In function ‘tcg_out_op’:
/home/travis/build/qemu/qemu/tcg/tci/tcg-target.inc.c:569:117: error:
negative width in bit-field ‘<anonymous>’
/home/travis/build/qemu/qemu/tcg/tci/tcg-target.inc.c:569:255: error:
negative width in bit-field ‘<anonymous>’
In file included from /home/travis/build/qemu/qemu/tcg/tcg.c:255:0:
/home/travis/build/qemu/qemu/tcg/tci/tcg-target.inc.c:578:115: error:
negative width in bit-field ‘<anonymous>’
/home/travis/build/qemu/qemu/tcg/tci/tcg-target.inc.c:578:255: error:
negative width in bit-field ‘<anonymous>’

These look to be because we were trying to use ARRAY_SIZE()
on a non-array, which was previously undetected. The use is
only in an assert() so fairly harmless.

Would somebody who cares about TCI like to provide a fix?

thanks
-- PMM
Stefan Weil Feb. 2, 2017, 7:01 p.m. UTC | #3
Am 02.02.2017 um 17:25 schrieb Peter Maydell:
> On 2 February 2017 at 13:56, Peter Maydell <peter.maydell@linaro.org> wrote:
>> On 31 January 2017 at 20:18, Michael S. Tsirkin <mst@redhat.com> wrote:
>>> virtio, vhost, pci: fixes, features
>>>
>>> generic pci root port support
>>> disable shpc by default
>>> safer version of ARRAY_SIZE and QEMU_BUILD_BUG_ON
>>> fixes and cleanups all over the place
>>>
>>> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
>
>> Applied, thanks.
>
> ...travis builds now fail for the --enable-tcg-interpreter config:
> https://travis-ci.org/qemu/qemu/jobs/197648661
>
> In file included from /home/travis/build/qemu/qemu/tcg/tcg.c:255:0:
> /home/travis/build/qemu/qemu/tcg/tci/tcg-target.inc.c: In function ‘tcg_out_op’:
> /home/travis/build/qemu/qemu/tcg/tci/tcg-target.inc.c:569:117: error:
> negative width in bit-field ‘<anonymous>’
> /home/travis/build/qemu/qemu/tcg/tci/tcg-target.inc.c:569:255: error:
> negative width in bit-field ‘<anonymous>’
> In file included from /home/travis/build/qemu/qemu/tcg/tcg.c:255:0:
> /home/travis/build/qemu/qemu/tcg/tci/tcg-target.inc.c:578:115: error:
> negative width in bit-field ‘<anonymous>’
> /home/travis/build/qemu/qemu/tcg/tci/tcg-target.inc.c:578:255: error:
> negative width in bit-field ‘<anonymous>’
>
> These look to be because we were trying to use ARRAY_SIZE()
> on a non-array, which was previously undetected. The use is
> only in an assert() so fairly harmless.
>
> Would somebody who cares about TCI like to provide a fix?
>
> thanks
> -- PMM



Other architectures either no longer use an assertion or
use tcg_debug_assert(s->tb_jmp_insn_offset != NULL), see
tcg/aarch64/tcg-target.inc.c and tcg/ppc/tcg-target.inc.c.

As the majority thinks that there is no longer a need for
an assertion here, I think that is the best solution for
TCI, too.

I'll send a patch.

Regards
Stefan