[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 0/2] memory/intel_iommu: Generate error for incompat
From: |
Alex Williamson |
Subject: |
[Qemu-devel] [PATCH 0/2] memory/intel_iommu: Generate error for incompatible usage |
Date: |
Wed, 15 Jun 2016 09:56:03 -0600 |
User-agent: |
StGit/0.17.1-dirty |
VT-d emulation is currently incompatible with device assignment due
to intel_iommu's lack of support for memory_region_notify_iommu().
Alexey has proposed a nice addition to the MemoryRegionIOMMUOps
structure that adds callbacks when the first iommu notifier is
registered and the last is removed. For POWER this will allow them
to switch the view of the iommu depending on whether anyone in
userspace is watching. For VT-d I expect that eventually we'll use
these callbacks to enable and disable code paths so that we avoid
notifier overhead when there are no registered notifiy-ees. For now,
we don't support calling memory_region_notify_iommu(), so this
signals an incompatible hardware configuration. If we choose to make
CM=0 a user selectable option, something like this might continue to
be useful if we only support notifies via invalidations rather than
full VT-d data structure shadowing.
Even though we're currently working on enabling users like vfio-pci
with VT-d, I believe this is correct for the current state of things.
We might even want to consider this stable for v2.6.x so that
downstreams pick it up to avoid incompatible configurations.
Alexey, I hope I'm not stepping on your toes by extracting this
from your latest patch series. Please let us know whether you
approve. Thanks,
Alex
---
Alex Williamson (1):
intel_iommu: Throw hw_error on notify_started
Alexey Kardashevskiy (1):
memory: Add MemoryRegionIOMMUOps.notify_started/stopped callbacks
hw/i386/intel_iommu.c | 12 ++++++++++++
hw/vfio/common.c | 5 +++--
include/exec/memory.h | 8 +++++++-
memory.c | 10 +++++++++-
4 files changed, 31 insertions(+), 4 deletions(-)
- [Qemu-devel] [PATCH 0/2] memory/intel_iommu: Generate error for incompatible usage,
Alex Williamson <=
- [Qemu-devel] [PATCH 1/2] memory: Add MemoryRegionIOMMUOps.notify_started/stopped callbacks, Alex Williamson, 2016/06/15
- [Qemu-devel] [PATCH 2/2] intel_iommu: Throw hw_error on notify_started, Alex Williamson, 2016/06/15
- Re: [Qemu-devel] [PATCH 0/2] memory/intel_iommu: Generate error for incompatible usage, Alexey Kardashevskiy, 2016/06/15
- Re: [Qemu-devel] [PATCH 0/2] memory/intel_iommu: Generate error for incompatible usage, Peter Xu, 2016/06/15
- Re: [Qemu-devel] [PATCH 0/2] memory/intel_iommu: Generate error for incompatible usage, Alex Williamson, 2016/06/28