xen/22388-x2apic-panic.patch

51 lines
2.0 KiB
Diff
Raw Normal View History

# 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>
Index: xen-4.0.2-testing/xen/arch/x86/apic.c
===================================================================
--- xen-4.0.2-testing.orig/xen/arch/x86/apic.c
+++ xen-4.0.2-testing/xen/arch/x86/apic.c
@@ -1001,22 +1001,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;
}
}