|
@@ -41,17 +41,6 @@ static inline const char *memblock_type_name(struct memblock_type *type)
|
|
/*
|
|
/*
|
|
* Address comparison utilities
|
|
* Address comparison utilities
|
|
*/
|
|
*/
|
|
-
|
|
|
|
-static phys_addr_t __init_memblock memblock_align_down(phys_addr_t addr, phys_addr_t size)
|
|
|
|
-{
|
|
|
|
- return addr & ~(size - 1);
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-static phys_addr_t __init_memblock memblock_align_up(phys_addr_t addr, phys_addr_t size)
|
|
|
|
-{
|
|
|
|
- return (addr + (size - 1)) & ~(size - 1);
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
static unsigned long __init_memblock memblock_addrs_overlap(phys_addr_t base1, phys_addr_t size1,
|
|
static unsigned long __init_memblock memblock_addrs_overlap(phys_addr_t base1, phys_addr_t size1,
|
|
phys_addr_t base2, phys_addr_t size2)
|
|
phys_addr_t base2, phys_addr_t size2)
|
|
{
|
|
{
|
|
@@ -87,7 +76,7 @@ static phys_addr_t __init_memblock memblock_find_region(phys_addr_t start, phys_
|
|
if (end < size)
|
|
if (end < size)
|
|
return MEMBLOCK_ERROR;
|
|
return MEMBLOCK_ERROR;
|
|
|
|
|
|
- base = memblock_align_down((end - size), align);
|
|
|
|
|
|
+ base = round_down(end - size, align);
|
|
|
|
|
|
/* Prevent allocations returning 0 as it's also used to
|
|
/* Prevent allocations returning 0 as it's also used to
|
|
* indicate an allocation failure
|
|
* indicate an allocation failure
|
|
@@ -102,7 +91,7 @@ static phys_addr_t __init_memblock memblock_find_region(phys_addr_t start, phys_
|
|
res_base = memblock.reserved.regions[j].base;
|
|
res_base = memblock.reserved.regions[j].base;
|
|
if (res_base < size)
|
|
if (res_base < size)
|
|
break;
|
|
break;
|
|
- base = memblock_align_down(res_base - size, align);
|
|
|
|
|
|
+ base = round_down(res_base - size, align);
|
|
}
|
|
}
|
|
|
|
|
|
return MEMBLOCK_ERROR;
|
|
return MEMBLOCK_ERROR;
|
|
@@ -486,7 +475,7 @@ phys_addr_t __init __memblock_alloc_base(phys_addr_t size, phys_addr_t align, ph
|
|
/* We align the size to limit fragmentation. Without this, a lot of
|
|
/* We align the size to limit fragmentation. Without this, a lot of
|
|
* small allocs quickly eat up the whole reserve array on sparc
|
|
* small allocs quickly eat up the whole reserve array on sparc
|
|
*/
|
|
*/
|
|
- size = memblock_align_up(size, align);
|
|
|
|
|
|
+ size = round_up(size, align);
|
|
|
|
|
|
found = memblock_find_base(size, align, 0, max_addr);
|
|
found = memblock_find_base(size, align, 0, max_addr);
|
|
if (found != MEMBLOCK_ERROR &&
|
|
if (found != MEMBLOCK_ERROR &&
|
|
@@ -562,7 +551,7 @@ static phys_addr_t __init memblock_alloc_nid_region(struct memblock_region *mp,
|
|
start = mp->base;
|
|
start = mp->base;
|
|
end = start + mp->size;
|
|
end = start + mp->size;
|
|
|
|
|
|
- start = memblock_align_up(start, align);
|
|
|
|
|
|
+ start = round_up(start, align);
|
|
while (start < end) {
|
|
while (start < end) {
|
|
phys_addr_t this_end;
|
|
phys_addr_t this_end;
|
|
int this_nid;
|
|
int this_nid;
|
|
@@ -590,7 +579,7 @@ phys_addr_t __init memblock_alloc_nid(phys_addr_t size, phys_addr_t align, int n
|
|
/* We align the size to limit fragmentation. Without this, a lot of
|
|
/* We align the size to limit fragmentation. Without this, a lot of
|
|
* small allocs quickly eat up the whole reserve array on sparc
|
|
* small allocs quickly eat up the whole reserve array on sparc
|
|
*/
|
|
*/
|
|
- size = memblock_align_up(size, align);
|
|
|
|
|
|
+ size = round_up(size, align);
|
|
|
|
|
|
/* We do a bottom-up search for a region with the right
|
|
/* We do a bottom-up search for a region with the right
|
|
* nid since that's easier considering how memblock_nid_range()
|
|
* nid since that's easier considering how memblock_nid_range()
|