### dom0-iommu
= List of [ passthrough=<bool>, strict=<bool>, map-inclusive=<bool>,
- map-reserved=<bool> ]
+ map-reserved=<bool>, none ]
Controls for the dom0 IOMMU setup.
subset of the correction by only mapping reserved memory regions rather
than all non-RAM regions.
+* The `none` option is intended for development purposes only, and skips
+ certain safety checks pertaining to the correct IOMMU configuration for
+ dom0 to boot.
+
+ Incorrect use of this option may result in a malfunctioning system.
+
### dom0_ioports_disable (x86)
> `= List of <hex>-<hex>`
bool_t __read_mostly iommu_qinval = 1;
bool_t __read_mostly iommu_intremap = 1;
+static bool __hwdom_initdata iommu_hwdom_none;
bool __hwdom_initdata iommu_hwdom_strict;
bool __read_mostly iommu_hwdom_passthrough;
bool __hwdom_initdata iommu_hwdom_inclusive;
iommu_hwdom_inclusive = val;
else if ( (val = parse_boolean("map-reserved", s, ss)) >= 0 )
iommu_hwdom_reserved = val;
+ else if ( !cmdline_strcmp(s, "none") )
+ iommu_hwdom_none = true;
else
rc = -EINVAL;
static void __hwdom_init check_hwdom_reqs(struct domain *d)
{
- if ( !paging_mode_translate(d) )
+ if ( iommu_hwdom_none || !paging_mode_translate(d) )
return;
arch_iommu_check_autotranslated_hwdom(d);