• Paul Mackerras's avatar
    [PATCH] ppc64: Extend ioremap/iounmap infrastructure · 78d51cf8
    Paul Mackerras authored
    The patch below implements the ability to query outstanding imalloc regions
    for a given virtual address range.  (Imalloc is the allocator of virtual
    space for ioremap.) The patch extends im_get_area() to allow a region
    criterion of IM_REGION_SUPERSET.  For a particular "superset" virtual
    address and size passed into im_get_area(), the function returns the first
    outstanding region that is contained within this superset region.
    
    The patch also changes iounmap_explicit() to allow for the unmapping of all
    regions that fit under a "superset".
    
    This ability is necessary for dynamic (runtime) removal of pci host bridges
    (PHBs).  For a PHB removal, the platform specification (the RPA) requires
    that all of its children slots already be dynamically removed.  Each of
    these slot-level removals has fractured the imalloc region assigned to the
    PHB at boot.  At PHB removal time, it is necessary to iounmap() the
    remaining artifacts of the initial PHB region.
    Signed-off-by: default avatarJohn Rose <johnrose@austin.ibm.com>
    Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    78d51cf8
pgtable.h 17.7 KB