diff options
author | Weidong Han <weidong.han@intel.com> | 2009-04-17 16:42:14 +0800 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-04-19 10:21:43 +0200 |
commit | 937582382c71b75b29fbb92615629494e1a05ac0 (patch) | |
tree | e73af8d10d388fcc78d19534611db66233907a9e /include/linux/dmar.h | |
parent | 5d0ae2db6deac4f15dac4f42f23bc56448fc8d4d (diff) | |
download | op-kernel-dev-937582382c71b75b29fbb92615629494e1a05ac0.zip op-kernel-dev-937582382c71b75b29fbb92615629494e1a05ac0.tar.gz |
x86, intr-remap: enable interrupt remapping early
Currently, when x2apic is not enabled, interrupt remapping
will be enabled in init_dmars(), where it is too late to remap
ioapic interrupts, that is, ioapic interrupts are really in
compatibility mode, not remappable mode.
This patch always enables interrupt remapping before ioapic
setup, it guarantees all interrupts will be remapped when
interrupt remapping is enabled. Thus it doesn't need to set
the compatibility interrupt bit.
[ Impact: refactor intr-remap init sequence, enable fuller remap mode ]
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Weidong Han <weidong.han@intel.com>
Acked-by: David Woodhouse <David.Woodhouse@intel.com>
Cc: iommu@lists.linux-foundation.org
Cc: allen.m.kay@intel.com
Cc: fenghua.yu@intel.com
LKML-Reference: <1239957736-6161-4-git-send-email-weidong.han@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/linux/dmar.h')
-rw-r--r-- | include/linux/dmar.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/dmar.h b/include/linux/dmar.h index e397dc3..06f592a 100644 --- a/include/linux/dmar.h +++ b/include/linux/dmar.h @@ -108,6 +108,7 @@ struct irte { }; #ifdef CONFIG_INTR_REMAP extern int intr_remapping_enabled; +extern int intr_remapping_supported(void); extern int enable_intr_remapping(int); extern void disable_intr_remapping(void); extern int reenable_intr_remapping(int); |