• D
    iommu/vt-d: Clean up pasid_enabled() and ecs_enabled() dependencies · d42fde70
    David Woodhouse 提交于
    When booted with intel_iommu=ecs_off we were still allocating the PASID
    tables even though we couldn't actually use them. We really want to make
    the pasid_enabled() macro depend on ecs_enabled().
    
    Which is unfortunate, because currently they're the other way round to
    cope with the Broadwell/Skylake problems with ECS.
    
    Instead of having ecs_enabled() depend on pasid_enabled(), which was never
    something that made me happy anyway, make it depend in the normal case
    on the "broken PASID" bit 28 *not* being set.
    
    Then pasid_enabled() can depend on ecs_enabled() as it should. And we also
    don't need to mess with it if we ever see an implementation that has some
    features requiring ECS (like PRI) but which *doesn't* have PASID support.
    Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
    d42fde70
intel-iommu.c 130.3 KB