• Milton Miller's avatar
    powerpc/pseries: Software invalidatation of TCEs · 8d3d589a
    Milton Miller authored
    Some pseries IOMMUs cache TCEs but don't snoop when the TCEs are changed
    in memory, hence we need manually invalidate in software.
    
    This adds code to do the invalidate.  It keys off a device tree property
    to say where the to do the MMIO for the invalidate and some information
    on what the format of the invalidate including some magic routing info.
    
    it_busno get overloaded with this magic routing info and it_index with
    the MMIO address for the invalidate command.
    
    This then gets hooked into the building and freeing of TCEs.
    
    This is only useful on bare metal pseries.  pHyp takes care of this when
    virtualised.
    
    Based on patch from Milton with cleanups from Mikey.
    Signed-off-by: default avatarMilton Miller <miltonm@bga.com>
    Signed-off-by: default avatarMichael Neuling <mikey@neuling.org>
    Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
    8d3d589a
iommu.c 34.8 KB