Commit 2ff729f5 authored by David Woodhouse's avatar David Woodhouse

intel-iommu: Cope with yet another BIOS screwup causing crashes

Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
parent 94a91b50
...@@ -1974,6 +1974,17 @@ static int iommu_prepare_identity_map(struct pci_dev *pdev, ...@@ -1974,6 +1974,17 @@ static int iommu_prepare_identity_map(struct pci_dev *pdev,
printk(KERN_INFO printk(KERN_INFO
"IOMMU: Setting identity map for device %s [0x%Lx - 0x%Lx]\n", "IOMMU: Setting identity map for device %s [0x%Lx - 0x%Lx]\n",
pci_name(pdev), start, end); pci_name(pdev), start, end);
if (end >> agaw_to_width(domain->agaw)) {
WARN(1, "Your BIOS is broken; RMRR exceeds permitted address width (%d bits)\n"
"BIOS vendor: %s; Ver: %s; Product Version: %s\n",
agaw_to_width(domain->agaw),
dmi_get_system_info(DMI_BIOS_VENDOR),
dmi_get_system_info(DMI_BIOS_VERSION),
dmi_get_system_info(DMI_PRODUCT_VERSION));
ret = -EIO;
goto error;
}
ret = iommu_domain_identity_map(domain, start, end); ret = iommu_domain_identity_map(domain, start, end);
if (ret) if (ret)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment