From: "Michael S. Tsirkin" <mst@redhat.com>
To: qemu-devel@nongnu.org
Cc: Peter Maydell <peter.maydell@linaro.org>,
Peter Xu <peterx@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
Richard Henderson <rth@twiddle.net>,
Eduardo Habkost <ehabkost@redhat.com>
Subject: [Qemu-devel] [PULL v2 14/55] intel_iommu: allow queued invalidation for IR
Date: Tue, 19 Jul 2016 20:51:40 +0300 [thread overview]
Message-ID: <20160719175140.GA32695@redhat.com> (raw)
In-Reply-To: <1468950176-31959-1-git-send-email-mst@redhat.com>
From: Peter Xu <peterx@redhat.com>
Queued invalidation is required for IR. This patch add basic support for
interrupt cache invalidate requests. Since we currently have no IR cache
implemented yet, we can just skip all interrupt cache invalidation
requests for now.
Signed-off-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
hw/i386/intel_iommu_internal.h | 2 ++
hw/i386/intel_iommu.c | 9 +++++++++
2 files changed, 11 insertions(+)
diff --git a/hw/i386/intel_iommu_internal.h b/hw/i386/intel_iommu_internal.h
index e5f514c..b648e69 100644
--- a/hw/i386/intel_iommu_internal.h
+++ b/hw/i386/intel_iommu_internal.h
@@ -286,6 +286,8 @@ typedef struct VTDInvDesc VTDInvDesc;
#define VTD_INV_DESC_TYPE 0xf
#define VTD_INV_DESC_CC 0x1 /* Context-cache Invalidate Desc */
#define VTD_INV_DESC_IOTLB 0x2
+#define VTD_INV_DESC_IEC 0x4 /* Interrupt Entry Cache
+ Invalidate Descriptor */
#define VTD_INV_DESC_WAIT 0x5 /* Invalidation Wait Descriptor */
#define VTD_INV_DESC_NONE 0 /* Not an Invalidate Descriptor */
diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c
index 3ee5782..26e322a 100644
--- a/hw/i386/intel_iommu.c
+++ b/hw/i386/intel_iommu.c
@@ -1404,6 +1404,15 @@ static bool vtd_process_inv_desc(IntelIOMMUState *s)
}
break;
+ case VTD_INV_DESC_IEC:
+ VTD_DPRINTF(INV, "Interrupt Entry Cache Invalidation "
+ "not implemented yet");
+ /*
+ * Since currently we do not cache interrupt entries, we can
+ * just mark this descriptor as "good" and move on.
+ */
+ break;
+
default:
VTD_DPRINTF(GENERAL, "error: unkonw Invalidation Descriptor type "
"hi 0x%"PRIx64 " lo 0x%"PRIx64 " type %"PRIu8,
--
MST
next prev parent reply other threads:[~2016-07-19 17:51 UTC|newest]
Thread overview: 66+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-19 22:29 [Qemu-devel] [PULL v2 00/55] pc, pci, virtio: new features, cleanups, fixes Michael S. Tsirkin
2016-07-19 17:50 ` [Qemu-devel] [PULL v2 01/55] nvdimm: fix memory leak in error code path Michael S. Tsirkin
2016-07-19 17:50 ` [Qemu-devel] [PULL v2 02/55] tests/prom-env-test: increase the test timeout Michael S. Tsirkin
2016-07-20 0:10 ` David Gibson
2016-07-19 17:50 ` [Qemu-devel] [PULL v2 03/55] hw/alpha: fix PCI bus initialization Michael S. Tsirkin
2016-07-19 17:50 ` [Qemu-devel] [PULL v2 04/55] hw/mips: " Michael S. Tsirkin
2016-07-19 17:50 ` [Qemu-devel] [PULL v2 05/55] hw/apb: " Michael S. Tsirkin
2016-07-19 17:50 ` [Qemu-devel] [PULL v2 06/55] hw/grackle: " Michael S. Tsirkin
2016-07-19 17:50 ` [Qemu-devel] [PULL v2 07/55] hw/prep: realize the PCI root bus as part of the prep init Michael S. Tsirkin
2016-07-19 17:51 ` [Qemu-arm] [PULL v2 08/55] hw/versatile: realize the PCI root bus as part of the versatile init Michael S. Tsirkin
2016-07-19 17:51 ` [Qemu-devel] " Michael S. Tsirkin
2016-07-19 17:51 ` [Qemu-devel] [PULL v2 09/55] x86-iommu: introduce parent class Michael S. Tsirkin
2016-07-19 17:51 ` [Qemu-devel] [PULL v2 10/55] intel_iommu: rename VTD_PCI_DEVFN_MAX to x86-iommu Michael S. Tsirkin
2016-07-19 17:51 ` [Qemu-devel] [PULL v2 11/55] x86-iommu: provide x86_iommu_get_default Michael S. Tsirkin
2016-07-19 17:51 ` [Qemu-devel] [PULL v2 12/55] x86-iommu: introduce "intremap" property Michael S. Tsirkin
2016-07-19 17:51 ` [Qemu-devel] [PULL v2 13/55] acpi: enable INTR for DMAR report structure Michael S. Tsirkin
2016-07-19 17:51 ` Michael S. Tsirkin [this message]
2016-07-19 17:51 ` [Qemu-devel] [PULL v2 15/55] intel_iommu: set IR bit for ECAP register Michael S. Tsirkin
2016-07-19 17:51 ` [Qemu-devel] [PULL v2 16/55] acpi: add DMAR scope definition for root IOAPIC Michael S. Tsirkin
2016-07-19 17:51 ` [Qemu-devel] [PULL v2 17/55] intel_iommu: define interrupt remap table addr register Michael S. Tsirkin
2016-07-19 17:52 ` [Qemu-devel] [PULL v2 18/55] intel_iommu: handle interrupt remap enable Michael S. Tsirkin
2016-07-19 17:52 ` [Qemu-devel] [PULL v2 19/55] intel_iommu: define several structs for IOMMU IR Michael S. Tsirkin
2016-07-19 17:52 ` [Qemu-devel] [PULL v2 20/55] intel_iommu: add IR translation faults defines Michael S. Tsirkin
2016-07-19 17:52 ` [Qemu-devel] [PULL v2 21/55] intel_iommu: Add support for PCI MSI remap Michael S. Tsirkin
2016-07-19 17:52 ` [Qemu-devel] [PULL v2 22/55] q35: ioapic: add support for emulated IOAPIC IR Michael S. Tsirkin
2016-07-19 17:52 ` [Qemu-devel] [PULL v2 23/55] ioapic: introduce ioapic_entry_parse() helper Michael S. Tsirkin
2016-07-19 17:52 ` [PULL v2 24/55] intel_iommu: add support for split irqchip Michael S. Tsirkin
2016-07-19 17:52 ` [Qemu-devel] " Michael S. Tsirkin
2016-07-19 17:52 ` [Qemu-devel] [PULL v2 25/55] x86-iommu: introduce IEC notifiers Michael S. Tsirkin
2016-07-19 17:52 ` [Qemu-devel] [PULL v2 26/55] ioapic: register IOMMU IEC notifier for ioapic Michael S. Tsirkin
2016-07-19 17:53 ` [Qemu-devel] [PULL v2 27/55] intel_iommu: Add support for Extended Interrupt Mode Michael S. Tsirkin
2016-07-19 17:53 ` [Qemu-devel] [PULL v2 28/55] intel_iommu: add SID validation for IR Michael S. Tsirkin
2016-07-19 17:53 ` [PULL v2 29/55] kvm-irqchip: simplify kvm_irqchip_add_msi_route Michael S. Tsirkin
2016-07-19 17:53 ` [Qemu-devel] " Michael S. Tsirkin
2016-07-19 17:53 ` [PULL v2 30/55] kvm-irqchip: i386: add hook for add/remove virq Michael S. Tsirkin
2016-07-19 17:53 ` [Qemu-devel] " Michael S. Tsirkin
2016-07-19 17:53 ` [PULL v2 31/55] kvm-irqchip: x86: add msi route notify fn Michael S. Tsirkin
2016-07-19 17:53 ` [Qemu-devel] " Michael S. Tsirkin
2016-07-19 17:53 ` [PULL v2 32/55] kvm-irqchip: do explicit commit when update irq Michael S. Tsirkin
2016-07-19 17:53 ` [Qemu-devel] " Michael S. Tsirkin
2016-07-19 17:53 ` [Qemu-devel] [PULL v2 33/55] intel_iommu: support all masks in interrupt entry cache invalidation Michael S. Tsirkin
2016-07-19 17:53 ` [PULL v2 34/55] kvm-all: add trace events for kvm irqchip ops Michael S. Tsirkin
2016-07-19 17:53 ` [Qemu-devel] " Michael S. Tsirkin
2016-07-19 17:53 ` [Qemu-devel] [PULL v2 35/55] intel_iommu: disallow kernel-irqchip=on with IR Michael S. Tsirkin
2016-07-19 17:54 ` [Qemu-devel] [PULL v2 36/55] virtio: Add typedef for handle_output Michael S. Tsirkin
2016-07-19 17:54 ` [Qemu-devel] [PULL v2 37/55] virtio: Introduce virtio_add_queue_aio Michael S. Tsirkin
2016-07-19 17:54 ` [Qemu-devel] [PULL v2 38/55] virtio-blk: Call virtio_add_queue_aio Michael S. Tsirkin
2016-07-19 17:54 ` [Qemu-devel] [PULL v2 39/55] virtio-scsi: " Michael S. Tsirkin
2016-07-19 17:54 ` [Qemu-devel] [PULL v2 40/55] Revert "mirror: Workaround for unexpected iohandler events during completion" Michael S. Tsirkin
2016-07-19 17:54 ` [Qemu-devel] [PULL v2 41/55] virtio-scsi: Replace HandleOutput typedef Michael S. Tsirkin
2016-07-19 17:54 ` [Qemu-devel] [PULL v2 42/55] virtio-net: Remove old migration version support Michael S. Tsirkin
2016-07-19 17:54 ` [Qemu-devel] [PULL v2 43/55] virtio-serial: " Michael S. Tsirkin
2016-07-19 17:54 ` [Qemu-devel] [PULL v2 44/55] virtio: Migration helper function and macro Michael S. Tsirkin
2016-07-19 17:54 ` [Qemu-devel] [PULL v2 45/55] virtio-scsi: Wrap in vmstate Michael S. Tsirkin
2016-07-19 17:55 ` [Qemu-devel] [PULL v2 46/55] virtio-blk: " Michael S. Tsirkin
2016-07-19 17:55 ` [Qemu-devel] [PULL v2 47/55] virtio-rng: " Michael S. Tsirkin
2016-07-19 17:55 ` [Qemu-devel] [PULL v2 48/55] virtio-balloon: " Michael S. Tsirkin
2016-07-19 17:55 ` [Qemu-devel] [PULL v2 49/55] virtio-net: " Michael S. Tsirkin
2016-07-19 17:55 ` [Qemu-devel] [PULL v2 50/55] virtio-serial: " Michael S. Tsirkin
2016-07-19 17:55 ` [Qemu-devel] [PULL v2 51/55] 9pfs: " Michael S. Tsirkin
2016-07-19 17:55 ` [Qemu-devel] [PULL v2 52/55] virtio-input: " Michael S. Tsirkin
2016-07-19 17:55 ` [Qemu-devel] [PULL v2 53/55] virtio-gpu: Use migrate_add_blocker for virgl migration blocking Michael S. Tsirkin
2016-07-19 17:55 ` [Qemu-devel] [PULL v2 54/55] virtio-gpu: Wrap in vmstate Michael S. Tsirkin
2016-07-19 17:55 ` [Qemu-devel] [PULL v2 55/55] virtio: Update migration docs Michael S. Tsirkin
2016-07-20 16:01 ` [Qemu-devel] [PULL v2 00/55] pc, pci, virtio: new features, cleanups, fixes Peter Maydell
2016-07-21 6:39 ` Peter Xu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160719175140.GA32695@redhat.com \
--to=mst@redhat.com \
--cc=ehabkost@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=peterx@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=rth@twiddle.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.