intel-iommu: Disallow interrupt remapping if not all ioapics covered
Current kernel enable interrupt remapping only when all the vt-d unit support interrupt remapping. So it is reasonable we should also disallow enabling intr-remapping if there any io-apics that are not listed under vt-d units. Otherwise we can run into issues. Acked-by: Suresh Siddha <suresh.b.siddha@intel.com> Signed-off-by: Youquan Song <youquan.song@intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
This commit is contained in:
parent
adb2fe0277
commit
e936d0773d
2 changed files with 5 additions and 3 deletions
|
@ -570,9 +570,6 @@ int __init dmar_table_init(void)
|
||||||
printk(KERN_INFO PREFIX "No ATSR found\n");
|
printk(KERN_INFO PREFIX "No ATSR found\n");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_INTR_REMAP
|
|
||||||
parse_ioapics_under_ir();
|
|
||||||
#endif
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -626,6 +626,11 @@ int __init enable_intr_remapping(int eim)
|
||||||
struct dmar_drhd_unit *drhd;
|
struct dmar_drhd_unit *drhd;
|
||||||
int setup = 0;
|
int setup = 0;
|
||||||
|
|
||||||
|
if (parse_ioapics_under_ir() != 1) {
|
||||||
|
printk(KERN_INFO "Not enable interrupt remapping\n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
for_each_drhd_unit(drhd) {
|
for_each_drhd_unit(drhd) {
|
||||||
struct intel_iommu *iommu = drhd->iommu;
|
struct intel_iommu *iommu = drhd->iommu;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue