[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[xen stable-4.16] AMD/IOMMU: without XT, x2APIC needs to be forced into physical mode



commit 8e9690a2252eda09537275a951ee0af0b3b330f2
Author:     Jan Beulich <jbeulich@xxxxxxxx>
AuthorDate: Fri Mar 31 08:36:59 2023 +0200
Commit:     Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Fri Mar 31 08:36:59 2023 +0200

    AMD/IOMMU: without XT, x2APIC needs to be forced into physical mode
    
    An earlier change with the same title (commit 1ba66a870eba) altered only
    the path where x2apic_phys was already set to false (perhaps from the
    command line). The same of course needs applying when the variable
    wasn't modified yet from its initial value.
    
    Reported-by: Elliott Mitchell <ehem+xen@xxxxxxx>
    Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
    Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
    master commit: 0d2686f6b66b4b1b3c72c3525083b0ce02830054
    master date: 2023-03-21 09:23:25 +0100
---
 xen/arch/x86/genapic/x2apic.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/genapic/x2apic.c b/xen/arch/x86/genapic/x2apic.c
index 628b441da5..247364af58 100644
--- a/xen/arch/x86/genapic/x2apic.c
+++ b/xen/arch/x86/genapic/x2apic.c
@@ -239,11 +239,11 @@ const struct genapic *__init apic_x2apic_probe(void)
     if ( x2apic_phys < 0 )
     {
         /*
-         * Force physical mode if there's no interrupt remapping support: The
-         * ID in clustered mode requires a 32 bit destination field due to
+         * Force physical mode if there's no (full) interrupt remapping 
support:
+         * The ID in clustered mode requires a 32 bit destination field due to
          * the usage of the high 16 bits to hold the cluster ID.
          */
-        x2apic_phys = !iommu_intremap ||
+        x2apic_phys = iommu_intremap != iommu_intremap_full ||
                       (acpi_gbl_FADT.flags & ACPI_FADT_APIC_PHYSICAL);
     }
     else if ( !x2apic_phys )
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.16



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.