File 22388-x2apic-panic.patch of Package xen.import4929

# HG changeset patch
# User Keir Fraser <keir@xen.org>
# Date 1289813498 0
# Node ID 87f248de52304bc96a80dc093250fed0197f37e0
# Parent  8af10bd7f2d0e9300f1bc68f7e2fb137fa839365
x2apic: Remove a panic condition in enabling x2APIC

Currently Xen triggers a panic if user disables VT-d by command line
while not disable x2APIC. This requires users to specify both
"iommu=0" and "x2apic=0" to disable VT-d if the platform supports
x2APIC. It's not user friendly. This patch removes the panic
condition. That's to say, don't require user to specify "x2apic=0"
when specify "iommu=0". As long as VT-d is not enabled (disabled in
BIOS or in command line), x2APIC won't be enabled naturally (x2APIC
depends on VT-d Interrupt remapping).

Signed-off-by: Weidong Han <weidong.han@intel.com>

--- a/xen/arch/x86/apic.c
+++ b/xen/arch/x86/apic.c
@@ -998,22 +998,11 @@ static void enable_bsp_x2apic(void)
         }
         else
         {
-            if ( !iommu_enabled || !iommu_intremap || !iommu_qinval )
-                panic("Cannot enable x2APIC due to iommu or interrupt "
-                      "remapping or queued invalidation is disabled "
-                      "by command line!\n");
-            else
-            {
-                if ( x2apic_preenabled )
-                    panic("x2APIC: already enabled by BIOS, but "
-                          "iommu_supports_eim fails\n");
-                else
-                {
-                    printk("Not enable x2APIC due to "
-                           "iommu_supports_eim fails!\n");
-                    return;
-                }
-            }
+            if ( x2apic_preenabled )
+                panic("x2APIC: already enabled by BIOS, but "
+                      "iommu_supports_eim failed!\n");
+            printk("Not enabling x2APIC: depends oniommu_supports_eim\n");
+            return;
         }
     }
 
openSUSE Build Service is sponsored by