From: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
To: <pbonzini@redhat.com>, <rkrcmar@redhat.com>, <joro@8bytes.org>,
<alex.williamson@redhat.com>
Cc: <kvm@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<sherry.hurwitz@amd.com>,
Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Subject: [PART2 RFC v2 00/10] iommu/AMD: Introduce IOMMU AVIC support
Date: Mon, 13 Jun 2016 17:06:40 -0500 [thread overview]
Message-ID: <1465855611-10092-1-git-send-email-suravee.suthikulpanit@amd.com> (raw)
CHANGES FROM V1
===============
* Rename the new mode from ga to vapic to be consistent with
the current terminology used in KVM for guest virtual APIC
(1/10 and 2/10).
* Rename the member enum amd_iommu_intr_mode_type, and provide
helper functions (1/10 and 2/10).
* Re-factor the patch series to separate out the enabling of
vAPIC interrupt remapping mode (patch 7/10).
* Re-implement amd_iommu_update_ga() (per Radim's comment) (10/10)
GITHUB
======
Latest git tree can be found at:
http://github.com/ssuthiku/linux.git avic_part2_rfc_v2
OVERVIEW
========
This patch set is the second part of the two-part patch series to introduce
the new AMD Advance Virtual Interrupt Controller (AVIC) support.
In addition to the SVM AVIC, AMD IOMMU also extends the AVIC capability
to allow I/O interrupts injection directly into the virtualized guest
local APIC without the need for hypervisor intervention.
This patch series introduces a new hardware interrupt remapping (IR) mode
in AMD IOMMU driver, the Guest Virtual APIC (GA) mode. This is in contrast
to the existing "legacy" mode. The IR mode can be specified with a new
kernel parameter:
amd_iommu_guest_ir=[vapic (default) | legacy]
When enabling GA mode, the AMD IOMMU driver will configure device interrupt
remapping in GA mode when possible (i.e. SVM AVIC must be enabled, and if
the interrupt types are supported). Otherewise, the driver will fallback
to using the legacy IR mode.
This patch series also introduces new interfaces between SVM and IOMMU
to allow:
* SVM driver to communicate to IOMMU with updated vcpu scheduling
information.
* IOMMU driver to notify SVM driver to schedule vcpu on to physical core
handle IOMMU GALog entry.
DOCUMENTATIONS
==============
More information about SVM AVIC can be found in the
AMD64 Architecture Programmer’s Manual Volume 2 - System Programming.
http://support.amd.com/TechDocs/24593.pdf
More information about IOMMU AVIC can be found int the
AMD I/O Virtualization Technology (IOMMU) Specification - Rev 2.62.
http://support.amd.com/TechDocs/48882_IOMMU.pdf
Any feedback and comments are very much appreciated.
Thank you,
Suravee
Suravee Suthikulpanit (10):
iommu/amd: Detect and enable guest vAPIC support
iommu/amd: Add support for 128-bit IRTE
iommu/amd: Detect and initialize guest vAPIC log
iommu/amd: Adding GALOG interrupt handler
iommu/amd: Introduce amd_iommu_update_ga()
iommu/amd: Implements irq_set_vcpu_affinity() hook to setup vapic mode
for pass-through devices
iommu/amd: Enable vAPIC interrupt remapping mode by default
svm: Introduce AMD IOMMU avic_ga_log_notifier
svm: Implements update_pi_irte hook to setup posted interrupt
svm: Update AMD IOMMU IRTE with vcpu scheduling information when
enable AVIC
arch/x86/include/asm/kvm_host.h | 2 +
arch/x86/kvm/svm.c | 195 +++++++++++++++++-
drivers/iommu/amd_iommu.c | 432 +++++++++++++++++++++++++++++++++++-----
drivers/iommu/amd_iommu_init.c | 163 ++++++++++++++-
drivers/iommu/amd_iommu_proto.h | 1 +
drivers/iommu/amd_iommu_types.h | 138 +++++++++++++
include/linux/amd-iommu.h | 24 +++
7 files changed, 896 insertions(+), 59 deletions(-)
--
1.9.1
next reply other threads:[~2016-06-13 22:23 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-13 22:06 Suravee Suthikulpanit [this message]
2016-06-13 22:06 ` [PART2 RFC v2 01/10] iommu/amd: Detect and enable guest vAPIC support Suravee Suthikulpanit
2016-06-13 22:06 ` [PART2 RFC v2 02/10] iommu/amd: Add support for 128-bit IRTE Suravee Suthikulpanit
2016-06-13 22:06 ` [PART2 RFC v2 03/10] iommu/amd: Detect and initialize guest vAPIC log Suravee Suthikulpanit
2016-06-13 22:06 ` [PART2 RFC v2 04/10] iommu/amd: Adding GALOG interrupt handler Suravee Suthikulpanit
2016-06-13 22:06 ` [PART2 RFC v2 05/10] iommu/amd: Introduce amd_iommu_update_ga() Suravee Suthikulpanit
2016-06-13 22:06 ` [PART2 RFC v2 06/10] iommu/amd: Implements irq_set_vcpu_affinity() hook to setup vapic mode for pass-through devices Suravee Suthikulpanit
2016-06-13 22:06 ` [PART2 RFC v2 07/10] iommu/amd: Enable vAPIC interrupt remapping mode by default Suravee Suthikulpanit
2016-06-13 22:06 ` [PART2 RFC v2 08/10] svm: Introduce AMD IOMMU avic_ga_log_notifier Suravee Suthikulpanit
2016-06-13 22:06 ` [PART2 RFC v2 09/10] svm: Implements update_pi_irte hook to setup posted interrupt Suravee Suthikulpanit
2016-06-13 22:06 ` [PART2 RFC v2 10/10] svm: Update AMD IOMMU IRTE with vcpu scheduling information when enable AVIC Suravee Suthikulpanit
2016-06-21 13:50 ` [PART2 RFC v2 00/10] iommu/AMD: Introduce IOMMU AVIC support Joerg Roedel
2016-06-21 14:27 ` Suravee Suthikulanit
2016-06-21 14:46 ` Joerg Roedel
2016-06-21 15:45 ` Suravee Suthikulanit
2016-06-21 15:15 ` Paolo Bonzini
2016-07-05 18:51 ` Suravee Suthikulpanit
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=1465855611-10092-1-git-send-email-suravee.suthikulpanit@amd.com \
--to=suravee.suthikulpanit@amd.com \
--cc=alex.williamson@redhat.com \
--cc=joro@8bytes.org \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pbonzini@redhat.com \
--cc=rkrcmar@redhat.com \
--cc=sherry.hurwitz@amd.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®