[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 00/13] IOMMU: Enable interrupt remapping for
From: |
Peter Xu |
Subject: |
Re: [Qemu-devel] [PATCH v2 00/13] IOMMU: Enable interrupt remapping for Intel IOMMU |
Date: |
Wed, 13 Apr 2016 15:27:37 +0800 |
User-agent: |
Mutt/1.5.24 (2015-08-30) |
On Mon, Apr 11, 2016 at 03:32:18PM +0300, Michael S. Tsirkin wrote:
> On Mon, Apr 11, 2016 at 05:19:10PM +0800, Peter Xu wrote:
> > v2 changes:
> > - patch 1
> > - rename "int_remap" to "intr" in several places [Marcel]
> > - remove "Intel" specific words in desc or commit message, prepare
> > itself with further AMD support [Marcel]
> > - avoid using object_property_get_bool() [Marcel]
> > - patch 5
> > - use PCI bus number 0xff rather than 0xf0 for the IOAPIC scope
> > definition. (please let me know if anyone knows how I can avoid
> > user using PCI bus number 0xff... TIA)
> > - patch 11
> > - fix comments [Marcel]
> > - all
> > - remove intr_supported variable [Marcel]
> >
> > This patchset provide very basic functionalities for interrupt
> > remapping (IR) support of the emulated Intel IOMMU device.
> >
> > By default, IR is disabled to be better compatible with current
> > QEMU. To enable IR, we can using the following command to boot a
> > IR-supported VM with basic network (still do not support kvm-ioapic,
> > so we need to specify kernel-irqchip=off here):
> >
> > $ qemu-system-x86_64 -M q35,iommu=on,intr=on,kernel-irqchip=off \
> > -enable-kvm -m 1024 -s \
> > -monitor telnet::3333,server,nowait \
> > -netdev user,id=user.0,hostfwd=tcp::5555-:22 \
> > -device virtio-net-pci,netdev=user.0 \
> > /var/lib/libvirt/images/vm1.qcow2
> >
> > When guest boots, we can verify whether IR enabled by grepping the
> > dmesg like:
> >
> > address@hidden ~]# journalctl -k | grep "DMAR-IR"
> > Feb 19 11:21:23 localhost.localdomain kernel: DMAR-IR: IOAPIC id 0 under
> > DRHD base 0xfed90000 IOMMU 0
> > Feb 19 11:21:23 localhost.localdomain kernel: DMAR-IR: Enabled IRQ
> > remapping in xapic mode
> >
> > Currently only two devices are supported:
> >
> > - Emulated IOAPIC device
> > - PCI Devices
> >
> > TODO List:
> >
> > - kvm-ioapic support
>
> This is probably a must. I don't think we can merge this
> as long as it breaks kvm.
But kvm-ioapic might require modification to KVM as well. Do you
think I should add kvm-ioapic into this series as well? Or can I
first submit this part of work without kvm-ioapic (since this work
is not related to KVM at all), then work on another one to support
kvm-ioapic?
>
> > - vhost support
>
> dataplane as well?
Do you mean irqfd here?
Thanks.
-- peterx
>
> > - pass through device support
> > - EIM support
> > - IR fault reporting
> > - source-id validation for IRTE
> > - IRTE cache and better queued invalidation
> > - migration support (for IOMMU as general?)
> > - more?
> >
> > Peter Xu (13):
> > q35: add "int-remap" flag to enable intr
> > acpi: enable INTR for DMAR report structure
> > intel_iommu: allow queued invalidation for IR
> > intel_iommu: set IR bit for ECAP register
> > acpi: add DMAR scope definition for root IOAPIC
> > intel_iommu: define interrupt remap table addr register
> > intel_iommu: handle interrupt remap enable
> > intel_iommu: define several structs for IOMMU IR
> > intel_iommu: provide helper function vtd_get_iommu
> > ioapic-common: add iommu for IOAPICCommonState
> > intel_iommu: add IR translation faults defines
> > intel_iommu: ioapic: IR support for emulated IOAPIC
> > intel_iommu: Add support for PCI MSI remap
> >
> > hw/core/machine.c | 21 ++
> > hw/i386/acpi-build.c | 42 ++--
> > hw/i386/intel_iommu.c | 400
> > +++++++++++++++++++++++++++++++++++++-
> > hw/i386/intel_iommu_internal.h | 23 +++
> > hw/intc/ioapic.c | 36 +++-
> > hw/intc/ioapic_common.c | 2 +
> > include/hw/acpi/acpi-defs.h | 15 ++
> > include/hw/boards.h | 1 +
> > include/hw/i386/intel_iommu.h | 120 ++++++++++++
> > include/hw/i386/ioapic_internal.h | 3 +
> > include/hw/pci/msi.h | 4 +
> > 11 files changed, 647 insertions(+), 20 deletions(-)
> >
> > --
> > 2.4.3
- Re: [Qemu-devel] [PATCH v2 12/13] intel_iommu: ioapic: IR support for emulated IOAPIC, (continued)
- Re: [Qemu-devel] [PATCH v2 12/13] intel_iommu: ioapic: IR support for emulated IOAPIC, Peter Xu, 2016/04/12
- Re: [Qemu-devel] [PATCH v2 12/13] intel_iommu: ioapic: IR support for emulated IOAPIC, Jan Kiszka, 2016/04/12
- Re: [Qemu-devel] [PATCH v2 12/13] intel_iommu: ioapic: IR support for emulated IOAPIC, Peter Xu, 2016/04/13
- Re: [Qemu-devel] [PATCH v2 12/13] intel_iommu: ioapic: IR support for emulated IOAPIC, Peter Xu, 2016/04/13
- Re: [Qemu-devel] [PATCH v2 12/13] intel_iommu: ioapic: IR support for emulated IOAPIC, Jan Kiszka, 2016/04/13
- Re: [Qemu-devel] [PATCH v2 12/13] intel_iommu: ioapic: IR support for emulated IOAPIC, Peter Xu, 2016/04/13
[Qemu-devel] [PATCH v2 13/13] intel_iommu: Add support for PCI MSI remap, Peter Xu, 2016/04/11
Re: [Qemu-devel] [PATCH v2 00/13] IOMMU: Enable interrupt remapping for Intel IOMMU, Michael S. Tsirkin, 2016/04/11
- Re: [Qemu-devel] [PATCH v2 00/13] IOMMU: Enable interrupt remapping for Intel IOMMU,
Peter Xu <=
Re: [Qemu-devel] [PATCH v2 00/13] IOMMU: Enable interrupt remapping for Intel IOMMU, Alex Williamson, 2016/04/11