[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v4 2/3] xen/dom0: Deprecate iommu_hwdom_inclusive and leave it disabled by default
This option is unique to x86 PV dom0's, but it is not sensible to have a catch-all which blindly maps all non-RAM regions into the IOMMU. The map-reserved option remains, and covers all the buggy firmware issues that I am aware of. The two common cases are legacy USB keyboard emulation, and the BMC mailbox used by vendor firmware in NICs/HBAs to report information back to the iLO/iDRAC/etc for remote remote management purposes. A specific advantage of this change is that x86 dom0's IOMMU setup is now consistent between PV and PVH. This change is not expected to have any impact, due to map-reserved remaining. In the unlikely case that it does cause an issue, we should introduce other map-$SPECIFIC options rather than re-introducing this catch-all. Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Release-acked-by: Juergen Gross <jgross@xxxxxxxx> --- CC: Jan Beulich <JBeulich@xxxxxxxx> CC: Wei Liu <wei.liu2@xxxxxxxxxx> CC: Roger Pau Monné <roger.pau@xxxxxxxxxx> v2: * New v4: * Switch to only disabled-by-default and deprecated, rather than revmoving the option fully. --- docs/misc/xen-command-line.pandoc | 10 ++++++---- xen/drivers/passthrough/iommu.c | 2 +- xen/drivers/passthrough/x86/iommu.c | 3 --- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc index 8b1703d..139c4e1 100644 --- a/docs/misc/xen-command-line.pandoc +++ b/docs/misc/xen-command-line.pandoc @@ -707,14 +707,16 @@ Controls for the dom0 IOMMU setup. 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>` diff --git a/xen/drivers/passthrough/iommu.c b/xen/drivers/passthrough/iommu.c index 9ac9e05..b9ffe18 100644 --- a/xen/drivers/passthrough/iommu.c +++ b/xen/drivers/passthrough/iommu.c @@ -38,7 +38,7 @@ bool_t __read_mostly iommu_intremap = 1; bool __hwdom_initdata iommu_hwdom_strict; bool __read_mostly iommu_hwdom_passthrough; -int8_t __hwdom_initdata iommu_hwdom_inclusive = -1; +int8_t __hwdom_initdata iommu_hwdom_inclusive; int8_t __hwdom_initdata iommu_hwdom_reserved = -1; /* diff --git a/xen/drivers/passthrough/x86/iommu.c b/xen/drivers/passthrough/x86/iommu.c index e40d7a7..2c051a0 100644 --- a/xen/drivers/passthrough/x86/iommu.c +++ b/xen/drivers/passthrough/x86/iommu.c @@ -214,9 +214,6 @@ void __hwdom_init arch_iommu_hwdom_init(struct domain *d) 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; -- 2.1.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |