Hi,

  I sent a previous email [1] about enabling use of the IOMMU on a per-domain 
basis and am now a reasonable way into my patch series, which also allows for 
IOMMU option-setting (specifically shared EPT use) on a per-domain basis too. 
Before I post v1 I'd like to get some opinion on the what the xl.cfg options 
should look like.
  The simplest way for me to do things would be to have two new boolean 
options; something like:

'passthrough' - enable/disable pass-through support (i.e. use of the IOMMU)... 
can be implicitly enabled if there are pci or dt devices specified in the 
xl.cfg.
'no-sharept' - named to match the xen-cmdline option for turning off shared 
EPT. (EPT sharing currently defaults on globally).

  I think the former is probably ok, but thinking forward to a time where we 
might have vIOMMU (PV or emulated) the latter is probably not the right thing 
to use. So, another way might be to have an IOMMU page-table option... 
something like:

'iommu-pt = shared|sync'

  where 'shared' means use EPT mappings, and 'sync' means keep the P2M in sync. 
This could then be extended with 'viommu' later, meaning that there would be 
some form of vIOMMU exposed to the guest, be it emulated, PV or both. One 
drawback with this mechanism is that 'shared' is not always possible (e.g. on 
AMD h/w) so what should be done in that case? Should selecting that option be 
considered an error, or should there be a fall-back to 'sync'? The fall-back 
would be easier to deal with as then the option could just default to 'sync' if 
it was not specified.

  Thoughts? Other ideas?

  Cheers,

    Paul

[1] https://lists.xenproject.org/archives/html/xen-devel/2019-07/msg01090.html

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

Reply via email to