From: "Michael S. Tsirkin" <mst@redhat.com>
To: qemu-devel@nongnu.org
Cc: Peter Maydell <peter.maydell@linaro.org>,
"Singh, Brijesh" <brijesh.singh@amd.com>,
Peter Xu <peterx@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
Richard Henderson <rth@twiddle.net>,
Eduardo Habkost <ehabkost@redhat.com>,
Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
Tom Lendacky <Thomas.Lendacky@amd.com>,
Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com>,
Igor Mammedov <imammedo@redhat.com>
Subject: [Qemu-devel] [PULL v2 15/28] x86_iommu/amd: Enable Guest virtual APIC support
Date: Wed, 24 Oct 2018 20:53:57 -0400 [thread overview]
Message-ID: <20181025005110.249256-16-mst@redhat.com> (raw)
In-Reply-To: <20181025005110.249256-1-mst@redhat.com>
From: "Singh, Brijesh" <brijesh.singh@amd.com>
Now that amd-iommu support interrupt remapping, enable the GASup in IVRS
table and GASup in extended feature register to indicate that IOMMU
support guest virtual APIC mode. GASup provides option to guest OS to
make use of 128-bit IRTE.
Note that the GAMSup is set to zero to indicate that amd-iommu does not
support guest virtual APIC mode (aka AVIC) which would be used for the
nested VMs.
See Table 21 from IOMMU spec for interrupt virtualization controls
Signed-off-by: Brijesh Singh <brijesh.singh@amd.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Cc: Peter Xu <peterx@redhat.com>
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Eduardo Habkost <ehabkost@redhat.com>
Cc: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Cc: Tom Lendacky <Thomas.Lendacky@amd.com>
Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
hw/i386/amd_iommu.h | 2 +-
hw/i386/acpi-build.c | 3 ++-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/hw/i386/amd_iommu.h b/hw/i386/amd_iommu.h
index 8061e9c49c..687fcd8521 100644
--- a/hw/i386/amd_iommu.h
+++ b/hw/i386/amd_iommu.h
@@ -176,7 +176,7 @@
/* extended feature support */
#define AMDVI_EXT_FEATURES (AMDVI_FEATURE_PREFETCH | AMDVI_FEATURE_PPR | \
AMDVI_FEATURE_IA | AMDVI_FEATURE_GT | AMDVI_FEATURE_HE | \
- AMDVI_GATS_MODE | AMDVI_HATS_MODE)
+ AMDVI_GATS_MODE | AMDVI_HATS_MODE | AMDVI_FEATURE_GA)
/* capabilities header */
#define AMDVI_CAPAB_FEATURES (AMDVI_CAPAB_FLAT_EXT | \
diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
index 1ef396ddbb..236a20eaa8 100644
--- a/hw/i386/acpi-build.c
+++ b/hw/i386/acpi-build.c
@@ -2518,7 +2518,8 @@ build_amd_iommu(GArray *table_data, BIOSLinker *linker)
build_append_int_noprefix(table_data,
(48UL << 30) | /* HATS */
(48UL << 28) | /* GATS */
- (1UL << 2), /* GTSup */
+ (1UL << 2) | /* GTSup */
+ (1UL << 6), /* GASup */
4);
/*
* Type 1 device entry reporting all devices
--
MST
next prev parent reply other threads:[~2018-10-25 0:54 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-25 0:52 [Qemu-devel] [PULL v2 00/28] pci, pc, virtio: fixes, features Michael S. Tsirkin
2018-10-25 0:52 ` [Qemu-devel] [PULL v2 01/28] virtio-blk: fix comment for virtio_blk_rw_complete Michael S. Tsirkin
2018-10-25 0:52 ` [Qemu-devel] [PULL v2 02/28] intel_iommu: introduce vtd_reset_caches() Michael S. Tsirkin
2018-10-25 0:52 ` [Qemu-devel] [PULL v2 03/28] intel_iommu: better handling of dmar state switch Michael S. Tsirkin
2018-10-25 0:52 ` [Qemu-devel] [PULL v2 04/28] intel_iommu: move ce fetching out when sync shadow Michael S. Tsirkin
2018-10-25 0:52 ` [Qemu-devel] [PULL v2 05/28] intel_iommu: handle invalid ce for shadow sync Michael S. Tsirkin
2018-10-25 0:53 ` [Qemu-devel] [PULL v2 06/28] vhost-user-blk: start vhost when guest kicks Michael S. Tsirkin
2018-10-25 0:53 ` [Qemu-devel] [PULL v2 07/28] x86_iommu: move the kernel-irqchip check in common code Michael S. Tsirkin
2018-10-25 0:53 ` [Qemu-devel] [PULL v2 08/28] x86_iommu: move vtd_generate_msi_message in common file Michael S. Tsirkin
2018-10-25 0:53 ` [Qemu-devel] [PULL v2 09/28] x86_iommu/amd: remove V=1 check from amdvi_validate_dte() Michael S. Tsirkin
2018-10-25 0:53 ` [Qemu-devel] [PULL v2 10/28] x86_iommu/amd: make the address space naming consistent with intel-iommu Michael S. Tsirkin
2018-10-25 0:53 ` [Qemu-devel] [PULL v2 11/28] x86_iommu/amd: Prepare for interrupt remap support Michael S. Tsirkin
2018-10-25 0:53 ` [Qemu-devel] [PULL v2 12/28] x86_iommu/amd: Add interrupt remap support when VAPIC is not enabled Michael S. Tsirkin
2018-10-25 0:53 ` [Qemu-devel] [PULL v2 13/28] i386: acpi: add IVHD device entry for IOAPIC Michael S. Tsirkin
2018-10-25 0:53 ` [Qemu-devel] [PULL v2 14/28] x86_iommu/amd: Add interrupt remap support when VAPIC is enabled Michael S. Tsirkin
2018-10-25 0:53 ` Michael S. Tsirkin [this message]
2018-10-25 0:54 ` [Qemu-devel] [PULL v2 16/28] MAINTAINERS: list "tests/acpi-test-data" files in ACPI/SMBIOS section Michael S. Tsirkin
2018-10-25 0:54 ` [Qemu-devel] [PULL v2 17/28] pci-testdev: add optional memory bar Michael S. Tsirkin
2018-10-25 0:54 ` [Qemu-devel] [PULL v2 18/28] hw/pci-host/x86: extract get_pci_hole64_start_value() helpers Michael S. Tsirkin
2018-10-25 0:54 ` [Qemu-devel] [PULL v2 19/28] hw/pci-host/x86: extend the 64-bit PCI hole relative to the fw-assigned base Michael S. Tsirkin
2018-10-25 0:54 ` [Qemu-devel] [PULL v2 20/28] tests/bios-tables-test: add 64-bit PCI MMIO aperture round-up test on Q35 Michael S. Tsirkin
2018-10-25 0:54 ` [Qemu-devel] [PULL v2 21/28] hw/pci-bridge/xio3130: Remove unused functions Michael S. Tsirkin
2018-10-25 0:54 ` [Qemu-devel] [PULL v2 22/28] hw/pci-bridge/ioh3420: Remove unuseful header Michael S. Tsirkin
2018-10-25 0:54 ` [Qemu-devel] [PULL v2 23/28] hw/pci: Add missing include Michael S. Tsirkin
2018-10-25 0:54 ` [Qemu-devel] [PULL v2 24/28] pci_bridge: fix typo in comment Michael S. Tsirkin
2018-10-25 0:54 ` [Qemu-devel] [PULL v2 25/28] i440fx: use ARRAY_SIZE for pam_regions Michael S. Tsirkin
2018-10-25 0:54 ` [Qemu-devel] [PULL v2 26/28] piix: use TYPE_FOO constants than string constats Michael S. Tsirkin
2018-10-25 0:54 ` [Qemu-devel] [PULL v2 27/28] piix_pci: fix i440fx data sheet link Michael S. Tsirkin
2018-10-25 0:55 ` [Qemu-devel] [PULL v2 28/28] vhost-scsi: prevent using uninitialized vqs Michael S. Tsirkin
2018-10-25 19:16 ` [Qemu-devel] [PULL v2 00/28] pci, pc, virtio: fixes, features Peter Maydell
2018-10-26 0:59 ` Michael S. Tsirkin
2018-10-26 13:26 ` Singh, Brijesh
2018-10-26 19:21 ` Peter Maydell
2018-10-26 1:53 ` Michael S. Tsirkin
2018-10-26 2:00 ` Michael S. Tsirkin
2018-10-27 18:53 ` Peter Maydell
2018-10-30 11:24 ` Peter Maydell
2018-11-05 15:05 ` Peter Maydell
2018-11-05 17:54 ` Michael S. Tsirkin
2018-11-05 20:10 ` Michael S. Tsirkin
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=20181025005110.249256-16-mst@redhat.com \
--to=mst@redhat.com \
--cc=Suravee.Suthikulpanit@amd.com \
--cc=Thomas.Lendacky@amd.com \
--cc=brijesh.singh@amd.com \
--cc=ehabkost@redhat.com \
--cc=imammedo@redhat.com \
--cc=marcel.apfelbaum@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).