qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PULL 00/10] virtio, vhost, pc: features, fixes, cleanups.
@ 2019-09-17 15:10 Michael S. Tsirkin
  2019-08-01  0:40 ` [Qemu-devel] [PATCH v2] docs/nvdimm: add example on persistent backend setup Wei Yang
                   ` (5 more replies)
  0 siblings, 6 replies; 35+ messages in thread
From: Michael S. Tsirkin @ 2019-09-17 15:10 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell

The following changes since commit 138985c1ef8b66e4e5b383354e133e05d01d0b5f:

  Merge remote-tracking branch 'remotes/amarkovic/tags/mips-queue-sep-12-2019' into staging (2019-09-13 16:04:46 +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 44e687a4d9ab327761e221844ced7dc9c23350a5:

  virtio-mmio: implement modern (v2) personality (virtio-1) (2019-09-16 11:17:06 -0400)

----------------------------------------------------------------
virtio,vhost,pc: features, fixes, cleanups.

Virtio 1.0 support for virtio-mmio.
Misc fixes, cleanups.

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

----------------------------------------------------------------
Laurent Vivier (1):
      MAINTAINERS: update virtio-rng and virtio-serial maintainer

Pankaj Gupta (1):
      virtio pmem: user document

Peter Xu (4):
      intel_iommu: Sanity check vfio-pci config on machine init done
      qdev/machine: Introduce hotplug_allowed hook
      pc/q35: Disallow vfio-pci hotplug without VT-d caching mode
      intel_iommu: Remove the caching-mode check during flag change

Raphael Norwitz (2):
      vhost-user-blk: prevent using uninitialized vqs
      backends/vhost-user.c: prevent using uninitialized vqs

Sergio Lopez (1):
      virtio-mmio: implement modern (v2) personality (virtio-1)

Wei Yang (1):
      docs/nvdimm: add example on persistent backend setup

 docs/nvdimm.txt           |  31 +++++
 include/hw/boards.h       |   9 ++
 include/hw/qdev-core.h    |   1 +
 backends/vhost-user.c     |   2 +-
 hw/block/vhost-user-blk.c |   2 +-
 hw/core/qdev.c            |  17 +++
 hw/i386/intel_iommu.c     |  41 +++++-
 hw/i386/pc.c              |  21 +++
 hw/virtio/virtio-mmio.c   | 342 ++++++++++++++++++++++++++++++++++++++++++----
 qdev-monitor.c            |   7 +
 MAINTAINERS               |   6 +-
 docs/virtio-pmem.rst      |  75 ++++++++++
 12 files changed, 521 insertions(+), 33 deletions(-)
 create mode 100644 docs/virtio-pmem.rst



^ permalink raw reply	[flat|nested] 35+ messages in thread
* [Qemu-devel] [PATCH v3 0/4] intel_iommu: Do sanity check of vfio-pci earlier
@ 2019-09-16  8:07 Peter Xu
  2019-09-16  8:07 ` [Qemu-devel] [PATCH v3 1/4] intel_iommu: Sanity check vfio-pci config on machine init done Peter Xu
                   ` (3 more replies)
  0 siblings, 4 replies; 35+ messages in thread
From: Peter Xu @ 2019-09-16  8:07 UTC (permalink / raw)
  To: qemu-devel
  Cc: Daniel P. Berrangé,
	Eduardo Habkost, Michael S. Tsirkin, Jason Wang, Alex Williamson,
	peterx, Eric Auger, Bandan Das, Igor Mammedov, Paolo Bonzini,
	Richard Henderson

v3:
- repost with the correct tree

v2:
- rebase to master [Eric]
- add r-bs for Eric
- remove RFC tag

The VT-d code has some defects, one of them is that we cannot detect
the misuse of vIOMMU and vfio-pci early enough.

For example, logically this is not allowed:

  -device intel-iommu,caching-mode=off \
  -device vfio-pci,host=05:00.0

Because the caching mode is required to make vfio-pci devices
functional.

Previously we did this sanity check in vtd_iommu_notify_flag_changed()
as when the memory regions change their attributes.  However that's
too late in most cases!  Because the memory region layouts will only
change after IOMMU is enabled, and that's in most cases during the
guest OS boots.  So when the configuration is wrong, we will only bail
out during the guest boots rather than simply telling the user before
QEMU starts.

The same problem happens on device hotplug, say, when we have this:

  -device intel-iommu,caching-mode=off

Then we do something like:

  (HMP) device_add vfio-pci,host=05:00.0,bus=pcie.1

If at that time the vIOMMU is enabled in the guest then the QEMU
process will simply quit directly due to this hotplug event.  This is
a bit insane...

This series tries to solve above two problems by introducing two
sanity checks upon these places separately:

  - machine done
  - hotplug device

This is a bit awkward but I hope this could be better than before.
There is of course other solutions like hard-code the check into
vfio-pci but I feel it even more unpretty.  I didn't think out any
better way to do this, if there is please kindly shout out.

Please have a look to see whether this would be acceptable, thanks.

Peter Xu (4):
  intel_iommu: Sanity check vfio-pci config on machine init done
  qdev/machine: Introduce hotplug_allowed hook
  pc/q35: Disallow vfio-pci hotplug without VT-d caching mode
  intel_iommu: Remove the caching-mode check during flag change

 hw/core/qdev.c         | 17 +++++++++++++++++
 hw/i386/intel_iommu.c  | 41 +++++++++++++++++++++++++++++++++++------
 hw/i386/pc.c           | 21 +++++++++++++++++++++
 include/hw/boards.h    |  9 +++++++++
 include/hw/qdev-core.h |  1 +
 qdev-monitor.c         |  7 +++++++
 6 files changed, 90 insertions(+), 6 deletions(-)

-- 
2.21.0



^ permalink raw reply	[flat|nested] 35+ messages in thread

end of thread, other threads:[~2019-09-23 14:01 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-17 15:10 [Qemu-devel] [PULL 00/10] virtio, vhost, pc: features, fixes, cleanups Michael S. Tsirkin
2019-08-01  0:40 ` [Qemu-devel] [PATCH v2] docs/nvdimm: add example on persistent backend setup Wei Yang
2019-08-01  8:05   ` Stefan Hajnoczi
2019-09-11  8:51   ` Wei Yang
2019-09-12 12:16   ` Stefan Hajnoczi
2019-09-12 21:44     ` Wei Yang
2019-09-17 15:10   ` [Qemu-devel] [PULL 02/10] " Michael S. Tsirkin
2019-08-21 12:16 ` [Qemu-devel] [PATCH v3] virtio pmem: user document Pankaj Gupta
2019-08-26 12:46   ` Cornelia Huck
2019-09-16  6:30     ` Pankaj Gupta
2019-09-17 15:11   ` [Qemu-devel] [PULL 09/10] " Michael S. Tsirkin
2019-08-22 18:34 ` [Qemu-devel] [PATCH 1/2] vhost-user-blk: prevent using uninitialized vqs Raphael Norwitz
2019-08-22 18:34   ` [Qemu-devel] [PATCH 2/2] backends/vhost-user.c: " Raphael Norwitz
2019-08-28  8:29     ` Stefan Hajnoczi
2019-09-17 15:10     ` [Qemu-devel] [PULL 04/10] " Michael S. Tsirkin
2019-08-23  3:43   ` [Qemu-devel] [Qemu-block] [PATCH 1/2] vhost-user-blk: " yuchenlin via Qemu-devel
2019-08-28  8:28   ` [Qemu-devel] " Stefan Hajnoczi
2019-09-17 15:10   ` [Qemu-devel] [PULL 03/10] " Michael S. Tsirkin
2019-09-10 14:03 ` [Qemu-devel] [PATCH v2] MAINTAINERS: update virtio-rng and virtio-serial maintainer Laurent Vivier
2019-09-17 15:10   ` [Qemu-devel] [PULL 01/10] " Michael S. Tsirkin
2019-09-13 12:06 ` [Qemu-devel] [PATCH v3] virtio-mmio: implement modern (v2) personality (virtio-1) Sergio Lopez
2019-09-16 14:40   ` Cornelia Huck
2019-09-17 15:11   ` [Qemu-devel] [PULL 10/10] " Michael S. Tsirkin
2019-09-21  7:06   ` [Qemu-devel] [PATCH v3] virtio-mmio: implement modern (v2), " Vasyl Vavrychuk
2019-09-23 13:58     ` Sergio Lopez
2019-09-19 10:13 ` [Qemu-devel] [PULL 00/10] virtio, vhost, pc: features, fixes, cleanups Peter Maydell
  -- strict thread matches above, loose matches on Subject: below --
2019-09-16  8:07 [Qemu-devel] [PATCH v3 0/4] intel_iommu: Do sanity check of vfio-pci earlier Peter Xu
2019-09-16  8:07 ` [Qemu-devel] [PATCH v3 1/4] intel_iommu: Sanity check vfio-pci config on machine init done Peter Xu
2019-09-17 15:10   ` [Qemu-devel] [PULL 05/10] " Michael S. Tsirkin
2019-09-16  8:07 ` [Qemu-devel] [PATCH v3 2/4] qdev/machine: Introduce hotplug_allowed hook Peter Xu
2019-09-17 15:10   ` [Qemu-devel] [PULL 06/10] " Michael S. Tsirkin
2019-09-16  8:07 ` [Qemu-devel] [PATCH v3 3/4] pc/q35: Disallow vfio-pci hotplug without VT-d caching mode Peter Xu
2019-09-17 15:11   ` [Qemu-devel] [PULL 07/10] " Michael S. Tsirkin
2019-09-16  8:07 ` [Qemu-devel] [PATCH v3 4/4] intel_iommu: Remove the caching-mode check during flag change Peter Xu
2019-09-17 15:11   ` [Qemu-devel] [PULL 08/10] " Michael S. Tsirkin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).