[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 00/13] IOMMU: Enable interrupt remapping for Int
From: |
Jan Kiszka |
Subject: |
Re: [Qemu-devel] [PATCH 00/13] IOMMU: Enable interrupt remapping for Intel IOMMU |
Date: |
Fri, 19 Feb 2016 07:46:26 +0100 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 |
Hi Peter,
On 2016-02-19 04:30, Peter Xu wrote:
> This patchset provide very basic functionalities for interrupt
> remapping (IR) support of the emulated Intel IOMMU device.
Interesting. Some questions:
- Were you aware of
http://git.kiszka.org/?p=qemu.git;a=shortlog;h=refs/heads/queues/vtd-intremap,
and can you comment on how this relates to your approach? Mine included
HPET support, e.g.
- Rita Sinha is currently working on integrating my old patches with the
split-irqchip to get KVM working (as an Outreachy project). It's
probably a bit unfortunate to consider a different horse that late in to
project. What do you think, how could we benefit from each other?
- Radim was telling me to look on this as well. How do your efforts
correlate?
>
> 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,int_remap=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
> - vhost support
> - 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 | 20 ++
> hw/i386/acpi-build.c | 41 +++-
> hw/i386/intel_iommu.c | 397
> +++++++++++++++++++++++++++++++++++++-
> hw/i386/intel_iommu_internal.h | 25 +++
> hw/intc/ioapic.c | 36 +++-
> hw/intc/ioapic_common.c | 2 +
> hw/pci-host/q35.c | 6 +-
> include/hw/acpi/acpi-defs.h | 15 ++
> include/hw/boards.h | 1 +
> include/hw/i386/intel_iommu.h | 121 ++++++++++++
> include/hw/i386/ioapic_internal.h | 3 +
> include/hw/pci/msi.h | 4 +
> 12 files changed, 651 insertions(+), 20 deletions(-)
>
Is there a git tree with your patches somewhere?
Thanks,
Jan
signature.asc
Description: OpenPGP digital signature
- [Qemu-devel] [PATCH 04/13] intel_iommu: set IR bit for ECAP register, (continued)
- [Qemu-devel] [PATCH 04/13] intel_iommu: set IR bit for ECAP register, Peter Xu, 2016/02/18
- [Qemu-devel] [PATCH 05/13] acpi: add DMAR scope definition for root IOAPIC, Peter Xu, 2016/02/18
- [Qemu-devel] [PATCH 06/13] intel_iommu: define interrupt remap table addr register, Peter Xu, 2016/02/18
- [Qemu-devel] [PATCH 07/13] intel_iommu: handle interrupt remap enable, Peter Xu, 2016/02/18
- [Qemu-devel] [PATCH 08/13] intel_iommu: define several structs for IOMMU IR, Peter Xu, 2016/02/18
- [Qemu-devel] [PATCH 09/13] intel_iommu: provide helper function vtd_get_iommu, Peter Xu, 2016/02/18
- [Qemu-devel] [PATCH 10/13] ioapic-common: add iommu for IOAPICCommonState, Peter Xu, 2016/02/18
- [Qemu-devel] [PATCH 11/13] intel_iommu: add IR translation faults defines, Peter Xu, 2016/02/18
- [Qemu-devel] [PATCH 12/13] intel_iommu: ioapic: IR support for emulated IOAPIC, Peter Xu, 2016/02/18
- [Qemu-devel] [PATCH 13/13] intel_iommu: Add support for PCI MSI remap, Peter Xu, 2016/02/18
- Re: [Qemu-devel] [PATCH 00/13] IOMMU: Enable interrupt remapping for Intel IOMMU,
Jan Kiszka <=
- Re: [Qemu-devel] [PATCH 00/13] IOMMU: Enable interrupt remapping for Intel IOMMU, Peter Xu, 2016/02/19
- Re: [Qemu-devel] [PATCH 00/13] IOMMU: Enable interrupt remapping for Intel IOMMU, Jan Kiszka, 2016/02/19
- Re: [Qemu-devel] [PATCH 00/13] IOMMU: Enable interrupt remapping for Intel IOMMU, Peter Xu, 2016/02/19
- Re: [Qemu-devel] [PATCH 00/13] IOMMU: Enable interrupt remapping for Intel IOMMU, Paolo Bonzini, 2016/02/19
- Re: [Qemu-devel] [PATCH 00/13] IOMMU: Enable interrupt remapping for Intel IOMMU, Jan Kiszka, 2016/02/19
- Re: [Qemu-devel] [PATCH 00/13] IOMMU: Enable interrupt remapping for Intel IOMMU, Peter Xu, 2016/02/19
- Re: [Qemu-devel] [PATCH 00/13] IOMMU: Enable interrupt remapping for Intel IOMMU, Jan Kiszka, 2016/02/19
- Re: [Qemu-devel] [PATCH 00/13] IOMMU: Enable interrupt remapping for Intel IOMMU, Peter Xu, 2016/02/19
- Re: [Qemu-devel] [PATCH 00/13] IOMMU: Enable interrupt remapping for Intel IOMMU, Jan Kiszka, 2016/02/19
- Re: [Qemu-devel] [PATCH 00/13] IOMMU: Enable interrupt remapping for Intel IOMMU, Radim Krčmář, 2016/02/19