• Jon Mason's avatar
    [PATCH] x86_64: Calgary IOMMU - IOMMU abstractions · 0dc243ae
    Jon Mason authored
    This patch creates a new interface for IOMMUs by adding a centralized
    location for IOMMU allocation (for translation tables/apertures) and
    IOMMU initialization.  In creating these, code was moved around for
    abstraction, uniformity, and consiceness.
    
    Take note of the move of the iommu_setup bootarg parsing code to
    __setup.  This is enabled by moving back the location of the aperture
    allocation/detection to mem init (which while ugly, was already the
    location of the swiotlb_init).
    
    While a slight departure from the previous patch, I belive this provides
    the true intention of the previous versions of the patch which changed
    this code.  It also makes the addition of the upcoming calgary code much
    cleaner than previous patches.
    
    [AK: Removed one broken change. iommu_setup still has to be called
    early]
    Signed-off-by: default avatarMuli Ben-Yehuda <muli@il.ibm.com>
    Signed-off-by: default avatarJon Mason <jdmason@us.ibm.com>
    Signed-off-by: default avatarAndi Kleen <ak@suse.de>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    0dc243ae
init.c 19.9 KB