aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/apic.c
diff options
context:
space:
mode:
authorAllen Kay <allen.m.kay@intel.com>2011-04-02 15:49:25 +0100
committerAllen Kay <allen.m.kay@intel.com>2011-04-02 15:49:25 +0100
commit0be477c900b73d6a2d7cceb0cded9df0d48179f2 (patch)
treefe6b1ce9708d47c95e5b892b6c27943d849e1174 /xen/arch/x86/apic.c
parent9da48f2428c5970f0350c74e07c4ca479d3fa06d (diff)
downloadxen-0be477c900b73d6a2d7cceb0cded9df0d48179f2.tar.gz
xen-0be477c900b73d6a2d7cceb0cded9df0d48179f2.tar.bz2
xen-0be477c900b73d6a2d7cceb0cded9df0d48179f2.zip
[VTD] check BIOS settings before enabling interrupt remapping or x2apic
Check flags field in ACPI DMAR structure before enabling interrupt remapping or x2apic. This allows platform vendors to disable interrupt remapping or x2apic features if on board BIOS does not support them. Signed-off-by: Allen Kay <allen.m.kay@intel.com>
Diffstat (limited to 'xen/arch/x86/apic.c')
-rw-r--r--xen/arch/x86/apic.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/xen/arch/x86/apic.c b/xen/arch/x86/apic.c
index 64d0c88c5b..cfdb13abf6 100644
--- a/xen/arch/x86/apic.c
+++ b/xen/arch/x86/apic.c
@@ -516,7 +516,7 @@ static void resume_x2apic(void)
mask_8259A();
mask_IO_APIC_setup(ioapic_entries);
- iommu_enable_IR();
+ iommu_enable_x2apic_IR();
__enable_x2apic();
restore_IO_APIC_setup(ioapic_entries);
@@ -735,7 +735,7 @@ int lapic_suspend(void)
local_irq_save(flags);
disable_local_APIC();
- iommu_disable_IR();
+ iommu_disable_x2apic_IR();
local_irq_restore(flags);
return 0;
}
@@ -958,7 +958,7 @@ void __init x2apic_bsp_setup(void)
mask_8259A();
mask_IO_APIC_setup(ioapic_entries);
- if ( iommu_enable_IR() )
+ if ( iommu_enable_x2apic_IR() )
{
if ( x2apic_enabled )
panic("Interrupt remapping could not be enabled while "