|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v2 2/2] iommu/vt-d: switch to common RMRR checker
Use the newly introduced generic unity map checker.
Also drop the message recommending the usage of iommu_inclusive_mapping: the
ranges would end up being mapped anyway even if some of the checks above
failed, regardless of whether iommu_inclusive_mapping is set. Plus such option
is not supported for PVH, and it's deprecated.
Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
---
Changes since v1:
- Adjust to changes in the previous patch.
- Expand commit message.
---
xen/drivers/passthrough/vtd/dmar.c | 14 +++-----------
1 file changed, 3 insertions(+), 11 deletions(-)
diff --git a/xen/drivers/passthrough/vtd/dmar.c
b/xen/drivers/passthrough/vtd/dmar.c
index 07772f178fe6..76aade816c08 100644
--- a/xen/drivers/passthrough/vtd/dmar.c
+++ b/xen/drivers/passthrough/vtd/dmar.c
@@ -642,17 +642,9 @@ acpi_parse_one_rmrr(struct acpi_dmar_header *header)
return -EEXIST;
}
- /* This check is here simply to detect when RMRR values are
- * not properly represented in the system memory map and
- * inform the user
- */
- if ( !e820_all_mapped(base_addr, end_addr + 1, E820_RESERVED) &&
- !e820_all_mapped(base_addr, end_addr + 1, E820_NVS) &&
- !e820_all_mapped(base_addr, end_addr + 1, E820_ACPI) )
- printk(XENLOG_WARNING VTDPREFIX
- " RMRR [%"PRIx64",%"PRIx64"] not in reserved memory;"
- " need \"iommu_inclusive_mapping=1\"?\n",
- base_addr, end_addr);
+ if ( !iommu_unity_region_ok("RMRR", maddr_to_mfn(base_addr),
+ maddr_to_mfn(end_addr)) )
+ return -EIO;
rmrru = xzalloc(struct acpi_rmrr_unit);
if ( !rmrru )
--
2.43.0
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |