xen/22388-x2apic-panic.patch
Charles Arnold 0c76f22ef1 - Update to Xen 4.0.2 rc2-pre, changeset 21443
- bnc#633573 - System fail to boot after running several warm
  reboot tests
  22749-vtd-workarounds.patch
- Upstream patches from Jan
  22744-ept-pod-locking.patch
  22777-vtd-ats-fixes.patch
  22781-pod-hap-logdirty.patch
  22782-x86-emul-smsw.patch
  22789-i386-no-x2apic.patch
  22790-svm-resume-migrate-pirqs.patch
  22816-x86-pirq-drop-priv-check.patch

OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=94
2011-02-04 21:19:54 +00:00

51 lines
2.0 KiB
Diff

# 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;
}
}