• Matt Fleming's avatar
    sh: Don't allocate smaller sized mappings on every iteration · a2767cfb
    Matt Fleming authored
    Currently, we've got the less than ideal situation where if we need to
    allocate a 256MB mapping we'll allocate four entries like so,
    
    	 entry 1: 128MB
    	 entry 2:  64MB
    	 entry 3:  16MB
    	 entry 4:  16MB
    
    This is because as we execute the loop in pmb_remap() we will
    progressively try mapping the remaining address space with smaller and
    smaller sizes. This isn't good because the size we use on one iteration
    may be the perfect size to use on the next iteration, for instance when
    the initial size is divisible by one of the PMB mapping sizes.
    
    With this patch, we now only need two entries in the PMB to map 256MB of
    address space,
    
    	  entry 1: 128MB
    	  entry 2: 128MB
    Signed-off-by: default avatarMatt Fleming <matt@console-pimps.org>
    Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
    a2767cfb
pmb.c 9.95 KB