Where possible, finer grain corrections should be made with the `rmrr=`,
`ivrs_hpet=` or `ivrs_ioapic=` command line options.
- This option is enabled by default on x86 systems, and invalid on ARM
- systems.
+ This option is disabled by default, and deprecated and intended for
+ removal in future versions of Xen. If specifying `map-inclusive` is the
+ only way to make your system boot, please report a bug.
* The `map-reserved` functionality is very similar to `map-inclusive`.
The differences from `map-inclusive` are that `map-reserved` is applicable
- to both x86 PV and PVH dom0's, and represents a subset of the correction
- by only mapping reserved memory regions rather than all non-RAM regions.
+ to both x86 PV and PVH dom0's, is enabled by default, and represents a
+ subset of the correction by only mapping reserved memory regions rather
+ than all non-RAM regions.
### dom0_ioports_disable (x86)
> `= List of <hex>-<hex>`
static void __hwdom_init arm_smmu_iommu_hwdom_init(struct domain *d)
{
/* Set to false options not supported on ARM. */
- if ( iommu_hwdom_inclusive == 1 )
+ if ( iommu_hwdom_inclusive )
printk(XENLOG_WARNING
"map-inclusive dom0-iommu option is not supported on ARM\n");
- iommu_hwdom_inclusive = 0;
+ iommu_hwdom_inclusive = false;
if ( iommu_hwdom_reserved == 1 )
printk(XENLOG_WARNING
"map-reserved dom0-iommu option is not supported on ARM\n");
bool __hwdom_initdata iommu_hwdom_strict;
bool __read_mostly iommu_hwdom_passthrough;
-int8_t __hwdom_initdata iommu_hwdom_inclusive = -1;
+bool __hwdom_initdata iommu_hwdom_inclusive;
int8_t __hwdom_initdata iommu_hwdom_reserved = -1;
/*
BUG_ON(!is_hardware_domain(d));
- /* Inclusive mappings are enabled by default for PV. */
- if ( iommu_hwdom_inclusive == -1 )
- iommu_hwdom_inclusive = is_pv_domain(d);
/* Reserved IOMMU mappings are enabled by default. */
if ( iommu_hwdom_reserved == -1 )
iommu_hwdom_reserved = 1;
- if ( iommu_hwdom_inclusive && !is_pv_domain(d) )
+ if ( iommu_hwdom_inclusive )
{
printk(XENLOG_WARNING
- "IOMMU inclusive mappings are only supported on PV Dom0\n");
- iommu_hwdom_inclusive = 0;
+ "IOMMU inclusive mappings are deprecated and will be removed in future versions\n");
+
+ if ( !is_pv_domain(d) )
+ {
+ printk(XENLOG_WARNING
+ "IOMMU inclusive mappings are only supported on PV Dom0\n");
+ iommu_hwdom_inclusive = false;
+ }
}
if ( iommu_hwdom_passthrough )
extern bool_t iommu_debug;
extern bool_t amd_iommu_perdev_intremap;
-extern bool iommu_hwdom_strict, iommu_hwdom_passthrough;
-extern int8_t iommu_hwdom_inclusive, iommu_hwdom_reserved;
+extern bool iommu_hwdom_strict, iommu_hwdom_passthrough, iommu_hwdom_inclusive;
+extern int8_t iommu_hwdom_reserved;
extern unsigned int iommu_dev_iotlb_timeout;