diff options
-rw-r--r-- | drivers/pci/intel-iommu.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/pci/intel-iommu.c b/drivers/pci/intel-iommu.c index beb5ccfd89bd..d36fa80aaa52 100644 --- a/drivers/pci/intel-iommu.c +++ b/drivers/pci/intel-iommu.c | |||
@@ -1974,6 +1974,17 @@ static int iommu_prepare_identity_map(struct pci_dev *pdev, | |||
1974 | printk(KERN_INFO | 1974 | printk(KERN_INFO |
1975 | "IOMMU: Setting identity map for device %s [0x%Lx - 0x%Lx]\n", | 1975 | "IOMMU: Setting identity map for device %s [0x%Lx - 0x%Lx]\n", |
1976 | pci_name(pdev), start, end); | 1976 | pci_name(pdev), start, end); |
1977 | |||
1978 | if (end >> agaw_to_width(domain->agaw)) { | ||
1979 | WARN(1, "Your BIOS is broken; RMRR exceeds permitted address width (%d bits)\n" | ||
1980 | "BIOS vendor: %s; Ver: %s; Product Version: %s\n", | ||
1981 | agaw_to_width(domain->agaw), | ||
1982 | dmi_get_system_info(DMI_BIOS_VENDOR), | ||
1983 | dmi_get_system_info(DMI_BIOS_VERSION), | ||
1984 | dmi_get_system_info(DMI_PRODUCT_VERSION)); | ||
1985 | ret = -EIO; | ||
1986 | goto error; | ||
1987 | } | ||
1977 | 1988 | ||
1978 | ret = iommu_domain_identity_map(domain, start, end); | 1989 | ret = iommu_domain_identity_map(domain, start, end); |
1979 | if (ret) | 1990 | if (ret) |