[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v2 3/4] xen/dom0: Drop iommu_hwdom_inclusive entirely



On Fri, Jan 04, 2019 at 12:46:27PM +0000, Andrew Cooper wrote:
> On 04/01/2019 12:33, Roger Pau Monné wrote:
> > On Mon, Dec 31, 2018 at 03:16:22PM +0000, Andrew Cooper wrote:
> >> 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 removing this option is that x86 dom0's IOMMU 
> >> setup is
> >> now consistent between PV and PVH.
> >>
> >> This removal 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>
> >> ---
> >> CC: Jan Beulich <JBeulich@xxxxxxxx>
> >> CC: Wei Liu <wei.liu2@xxxxxxxxxx>
> >> CC: Roger Pau Monné <roger.pau@xxxxxxxxxx>
> >> CC: Stefano Stabellini <sstabellini@xxxxxxxxxx>
> >> CC: Julien Grall <julien.grall@xxxxxxx>
> >> CC: Jun Nakajima <jun.nakajima@xxxxxxxxx>
> >> CC: Kevin Tian <kevin.tian@xxxxxxxxx>
> >>
> >> v2:
> >>  * New
> >> ---
> >>  docs/misc/xen-command-line.markdown   | 19 +++----------------
> >>  xen/drivers/passthrough/arm/smmu.c    |  4 ----
> >>  xen/drivers/passthrough/iommu.c       |  3 ---
> >>  xen/drivers/passthrough/vtd/x86/vtd.c |  6 ------
> >>  xen/drivers/passthrough/x86/iommu.c   | 14 ++------------
> >>  xen/include/xen/iommu.h               |  2 +-
> >>  6 files changed, 6 insertions(+), 42 deletions(-)
> >>
> >> diff --git a/docs/misc/xen-command-line.markdown 
> >> b/docs/misc/xen-command-line.markdown
> >> index 0aeb786..3a9af17 100644
> >> --- a/docs/misc/xen-command-line.markdown
> >> +++ b/docs/misc/xen-command-line.markdown
> >> @@ -664,8 +664,7 @@ Controls for how dom0 is constructed on x86 systems.
> >>      hardware is not HAP-capable.
> >>  
> >>  ### dom0-iommu
> >> -> `= List of [ passthrough=<bool>, strict=<bool>, map-inclusive=<bool>,
> >> ->              map-reserved=<bool> ]`
> >> +> `= List of [ passthrough=<bool>, strict=<bool>, map-reserved=<bool> ]`
> >>  
> >>  Controls for the dom0 IOMMU setup.
> >>  
> >> @@ -692,9 +691,8 @@ Controls for the dom0 IOMMU setup.
> >>      other domains in the system don't live in a compatible address 
> >> space), and
> >>      is ignored for ARM.
> >>  
> >> -*   The `map-inclusive` boolean is applicable to x86 PV dom0's, and sets 
> >> up
> >> -    identity IOMMU mappings for all non-RAM regions below 4GB except for
> >> -    unusable ranges, and ranges belonging to Xen.
> >> +*   The `map-reserved` boolean is applicable to x86, and sets up identity 
> >> IOMMU
> >> +    mappings for all E820 reserved regions below 4GB.
> > Current code will map all reserved regions below max_pdx, but maybe
> > the code should be changed to only map reserved regions < 4GB?
> 
> Oh - no the code is correct.
> 
> If we want to map all E820 reserved regions, then we really want all of
> them, not just those below 4G.  I'll fix the wording next time around.

Sadly the code is not fully correct, since any reserved region past
the last RAM region will be ignored, since max_pdx only accounts for
RAM regions. Will send a patch to fix it.

Roger.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.