• Paul Durrant's avatar
    introduce a 'passthrough' configuration option to xl.cfg... · babde47a
    Paul Durrant authored
    
    
    ...and hence the ability to disable IOMMU mappings, and control EPT
    sharing.
    
    This patch introduces a new 'libxl_passthrough' enumeration into
    libxl_domain_create_info. The value will be set by xl either when it parses
    a new 'passthrough' option in xl.cfg, or implicitly if there is passthrough
    hardware specified for the domain.
    
    If the value of the passthrough configuration option is 'disabled' then
    the XEN_DOMCTL_CDF_iommu flag will be clear in the xen_domctl_createdomain
    flags, thus allowing the toolstack to control whether the domain gets
    IOMMU mappings or not (where previously they were globally set).
    
    If the value of the passthrough configuration option is 'sync_pt' then
    a new 'iommu_opts' field in xen_domctl_createdomain will be set with the
    value XEN_DOMCTL_IOMMU_no_sharept. This will override the global default
    set in iommu_hap_pt_share, thus allowing the toolstack to control whether
    EPT sharing is used for the domain.
    
    If the value of passthrough is 'enabled' then xl will choose an appropriate
    default according to the type of domain and hardware support.
    
    NOTE: The 'iommu_memkb' overhead in libxl_domain_build_info will now only
          be set if passthrough is 'sync_pt' (or xl has chosen this mode as
          a default).
    Signed-off-by: default avatarPaul Durrant <paul.durrant@citrix.com>
    Reviewed-by: default avatarJan Beulich <jbeulich@suse.com>
    Acked-by: default avatarChristian Lindig <christian.lindig@citrix.com>
    Acked-by: default avatarJulien Grall <julien.grall@arm.com>
    Reviewed-by: default avatarAnthony PERARD <anthony.perard@citrix.com>
    babde47a
libxl_create.c 70.4 KB