Subject: [GIT PULL] virtio: features, fixes

From: "Michael S. Tsirkin" <[email-masked]>
Date: Thu, 31 Mar 2022 09:48:16 -0400

The following changes since commit f443e374ae131c168a065ea1748feac6b2e76613:

  Linux 5.17 (2022-03-20 13:14:17 -0700)

are available in the Git repository at:

  https://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git tags/for_linus

for you to fetch changes up to ad6dc1daaf29f97f23cc810d60ee01c0e83f4c6b:

  vdpa/mlx5: Avoid processing works if workqueue was destroyed (2022-03-28 16:54:30 -0400)

----------------------------------------------------------------
virtio: features, fixes

vdpa generic device type support
More virtio hardening for broken devices
On the same theme, revert some virtio hotplug hardening patches -
they were misusing some interrupt flags, will have to be reverted.
RSS support in virtio-net
max device MTU support in mlx5 vdpa
akcipher support in virtio-crypto
shared IRQ support in ifcvf vdpa
a minor performance improvement in vhost
Enable virtio mem for ARM64
beginnings of advance dma support

Cleanups, fixes all over the place.

Signed-off-by: Michael S. Tsirkin <[email-masked]>

----------------------------------------------------------------
Andrew Melnychenko (4):
      drivers/net/virtio_net: Fixed padded vheader to use v1 with hash.
      drivers/net/virtio_net: Added basic RSS support.
      drivers/net/virtio_net: Added RSS hash report.
      drivers/net/virtio_net: Added RSS hash report control.

Anirudh Rayabharam (1):
      vhost: handle error while adding split ranges to iotlb

Eli Cohen (2):
      net/mlx5: Add support for configuring max device MTU
      vdpa/mlx5: Avoid processing works if workqueue was destroyed

Gautam Dawar (1):
      Add definition of VIRTIO_F_IN_ORDER feature bit

Gavin Shan (1):
      drivers/virtio: Enable virtio mem for ARM64

Jason Wang (2):
      Revert "virtio-pci: harden INTX interrupts"
      Revert "virtio_pci: harden MSI-X interrupts"

Keir Fraser (1):
      virtio: pci: check bar values read from virtio config space

Longpeng (3):
      vdpa: support exposing the config size to userspace
      vdpa: change the type of nvqs to u32
      vdpa: support exposing the count of vqs to userspace

Miaohe Lin (1):
      mm/balloon_compaction: make balloon page compaction callbacks static

Michael Qiu (1):
      vdpa/mlx5: re-create forwarding rules after mac modified

Michael S. Tsirkin (2):
      tools/virtio: fix after premapped buf support
      tools/virtio: compile with -pthread

Stefano Garzarella (2):
      vhost: cache avail index in vhost_enable_notify()
      virtio: use virtio_device_ready() in virtio_device_restore()

Xuan Zhuo (3):
      virtio_ring: rename vring_unmap_state_packed() to vring_unmap_extra_packed()
      virtio_ring: remove flags check for unmap split indirect desc
      virtio_ring: remove flags check for unmap packed indirect desc

Zhu Lingshan (5):
      vDPA/ifcvf: make use of virtio pci modern IO helpers in ifcvf
      vhost_vdpa: don't setup irq offloading when irq_num < 0
      vDPA/ifcvf: implement device MSIX vector allocator
      vDPA/ifcvf: implement shared IRQ feature
      vDPA/ifcvf: cacheline alignment for ifcvf_hw

zhenwei pi (4):
      virtio_crypto: Introduce VIRTIO_CRYPTO_NOSPC
      virtio-crypto: introduce akcipher service
      virtio-crypto: implement RSA algorithm
      virtio-crypto: rename skcipher algs

 drivers/crypto/virtio/Kconfig                      |   3 +
 drivers/crypto/virtio/Makefile                     |   3 +-
 .../crypto/virtio/virtio_crypto_akcipher_algs.c    | 585 +++++++++++++++++++++
 drivers/crypto/virtio/virtio_crypto_common.h       |   7 +-
 drivers/crypto/virtio/virtio_crypto_core.c         |   6 +-
 drivers/crypto/virtio/virtio_crypto_mgr.c          |  17 +-
 ...crypto_algs.c => virtio_crypto_skcipher_algs.c} |   4 +-
 drivers/net/virtio_net.c                           | 389 +++++++++++++-
 drivers/vdpa/ifcvf/ifcvf_base.c                    | 140 ++---
 drivers/vdpa/ifcvf/ifcvf_base.h                    |  24 +-
 drivers/vdpa/ifcvf/ifcvf_main.c                    | 323 ++++++++++--
 drivers/vdpa/mlx5/net/mlx5_vnet.c                  |  84 ++-
 drivers/vdpa/vdpa.c                                |   6 +-
 drivers/vhost/iotlb.c                              |   6 +-
 drivers/vhost/vdpa.c                               |  45 +-
 drivers/vhost/vhost.c                              |   3 +-
 drivers/virtio/Kconfig                             |   7 +-
 drivers/virtio/virtio.c                            |   5 +-
 drivers/virtio/virtio_pci_common.c                 |  48 +-
 drivers/virtio/virtio_pci_common.h                 |   7 +-
 drivers/virtio/virtio_pci_legacy.c                 |   5 +-
 drivers/virtio/virtio_pci_modern.c                 |  18 +-
 drivers/virtio/virtio_pci_modern_dev.c             |   9 +-
 drivers/virtio/virtio_ring.c                       |  53 +-
 include/linux/balloon_compaction.h                 |  22 -
 include/linux/vdpa.h                               |   9 +-
 include/uapi/linux/vhost.h                         |   7 +
 include/uapi/linux/virtio_config.h                 |   6 +
 include/uapi/linux/virtio_crypto.h                 |  82 ++-
 mm/balloon_compaction.c                            |   6 +-
 tools/virtio/Makefile                              |   3 +-
 tools/virtio/linux/dma-mapping.h                   |   4 +-
 32 files changed, 1639 insertions(+), 297 deletions(-)
 create mode 100644 drivers/crypto/virtio/virtio_crypto_akcipher_algs.c
 rename drivers/crypto/virtio/{virtio_crypto_algs.c => virtio_crypto_skcipher_algs.c} (99%)