| From 55a42530bcfbbb564d0c9de4279ba9d288bbda6b Mon Sep 17 00:00:00 2001 |
| From: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com> |
| Date: Wed, 22 Apr 2020 08:30:02 -0500 |
| Subject: [PATCH] iommu/amd: Fix legacy interrupt remapping for x2APIC-enabled |
| system |
| |
| commit b74aa02d7a30ee5e262072a7d6e8deff10b37924 upstream. |
| |
| Currently, system fails to boot because the legacy interrupt remapping |
| mode does not enable 128-bit IRTE (GA), which is required for x2APIC |
| support. |
| |
| Fix by using AMD_IOMMU_GUEST_IR_LEGACY_GA mode when booting with |
| kernel option amd_iommu_intr=legacy instead. The initialization |
| logic will check GASup and automatically fallback to using |
| AMD_IOMMU_GUEST_IR_LEGACY if GA mode is not supported. |
| |
| Fixes: 3928aa3f5775 ("iommu/amd: Detect and enable guest vAPIC support") |
| Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com> |
| Link: https://lore.kernel.org/r/1587562202-14183-1-git-send-email-suravee.suthikulpanit@amd.com |
| Signed-off-by: Joerg Roedel <jroedel@suse.de> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/iommu/amd_iommu_init.c b/drivers/iommu/amd_iommu_init.c |
| index 85a5e8672ec3..4c51cba3f782 100644 |
| --- a/drivers/iommu/amd_iommu_init.c |
| +++ b/drivers/iommu/amd_iommu_init.c |
| @@ -2848,7 +2848,7 @@ static int __init parse_amd_iommu_intr(char *str) |
| { |
| for (; *str; ++str) { |
| if (strncmp(str, "legacy", 6) == 0) { |
| - amd_iommu_guest_ir = AMD_IOMMU_GUEST_IR_LEGACY; |
| + amd_iommu_guest_ir = AMD_IOMMU_GUEST_IR_LEGACY_GA; |
| break; |
| } |
| if (strncmp(str, "vapic", 5) == 0) { |
| -- |
| 2.7.4 |
| |