Lines Matching refs:size
125 static inline phys_addr_t memblock_cap_size(phys_addr_t base, phys_addr_t *size) in memblock_cap_size() argument
127 return *size = min(*size, PHYS_ADDR_MAX - base); in memblock_cap_size()
140 phys_addr_t base, phys_addr_t size) in memblock_overlaps_region() argument
145 if (memblock_addrs_overlap(base, size, type->regions[i].base, in memblock_overlaps_region()
146 type->regions[i].size)) in memblock_overlaps_region()
168 phys_addr_t size, phys_addr_t align, int nid, in __memblock_find_range_bottom_up() argument
179 if (cand < this_end && this_end - cand >= size) in __memblock_find_range_bottom_up()
203 phys_addr_t size, phys_addr_t align, int nid, in __memblock_find_range_top_down() argument
214 if (this_end < size) in __memblock_find_range_top_down()
217 cand = round_down(this_end - size, align); in __memblock_find_range_top_down()
248 phys_addr_t __init_memblock memblock_find_in_range_node(phys_addr_t size, in memblock_find_in_range_node() argument
276 size, align, nid, flags); in memblock_find_in_range_node()
294 return __memblock_find_range_top_down(start, end, size, align, nid, in memblock_find_in_range_node()
312 phys_addr_t end, phys_addr_t size, in memblock_find_in_range() argument
319 ret = memblock_find_in_range_node(size, align, start, end, in memblock_find_in_range()
324 &size); in memblock_find_in_range()
334 type->total_size -= type->regions[r].size; in memblock_remove_region()
344 type->regions[0].size = 0; in memblock_remove_region()
356 phys_addr_t addr, size; in memblock_discard() local
360 size = PAGE_ALIGN(sizeof(struct memblock_region) * in memblock_discard()
362 __memblock_free_late(addr, size); in memblock_discard()
367 size = PAGE_ALIGN(sizeof(struct memblock_region) * in memblock_discard()
369 __memblock_free_late(addr, size); in memblock_discard()
506 if (this->base + this->size != next->base || in memblock_merge_regions()
510 BUG_ON(this->base + this->size > next->base); in memblock_merge_regions()
515 this->size += next->size; in memblock_merge_regions()
536 phys_addr_t size, in memblock_insert_region() argument
545 rgn->size = size; in memblock_insert_region()
549 type->total_size += size; in memblock_insert_region()
569 phys_addr_t base, phys_addr_t size, in memblock_add_range() argument
574 phys_addr_t end = base + memblock_cap_size(base, &size); in memblock_add_range()
578 if (!size) in memblock_add_range()
582 if (type->regions[0].size == 0) { in memblock_add_range()
585 type->regions[0].size = size; in memblock_add_range()
588 type->total_size = size; in memblock_add_range()
602 phys_addr_t rend = rbase + rgn->size; in memblock_add_range()
644 if (memblock_double_array(type, obase, size) < 0) in memblock_add_range()
666 int __init_memblock memblock_add_node(phys_addr_t base, phys_addr_t size, in memblock_add_node() argument
669 return memblock_add_range(&memblock.memory, base, size, nid, 0); in memblock_add_node()
683 int __init_memblock memblock_add(phys_addr_t base, phys_addr_t size) in memblock_add() argument
685 phys_addr_t end = base + size - 1; in memblock_add()
690 return memblock_add_range(&memblock.memory, base, size, MAX_NUMNODES, 0); in memblock_add()
710 phys_addr_t base, phys_addr_t size, in memblock_isolate_range() argument
713 phys_addr_t end = base + memblock_cap_size(base, &size); in memblock_isolate_range()
719 if (!size) in memblock_isolate_range()
724 if (memblock_double_array(type, base, size) < 0) in memblock_isolate_range()
729 phys_addr_t rend = rbase + rgn->size; in memblock_isolate_range()
742 rgn->size -= base - rbase; in memblock_isolate_range()
753 rgn->size -= end - rbase; in memblock_isolate_range()
770 phys_addr_t base, phys_addr_t size) in memblock_remove_range() argument
775 ret = memblock_isolate_range(type, base, size, &start_rgn, &end_rgn); in memblock_remove_range()
784 int __init_memblock memblock_remove(phys_addr_t base, phys_addr_t size) in memblock_remove() argument
786 phys_addr_t end = base + size - 1; in memblock_remove()
791 return memblock_remove_range(&memblock.memory, base, size); in memblock_remove()
795 int __init_memblock memblock_free(phys_addr_t base, phys_addr_t size) in memblock_free() argument
797 phys_addr_t end = base + size - 1; in memblock_free()
802 kmemleak_free_part_phys(base, size); in memblock_free()
803 return memblock_remove_range(&memblock.reserved, base, size); in memblock_free()
806 int __init_memblock memblock_reserve(phys_addr_t base, phys_addr_t size) in memblock_reserve() argument
808 phys_addr_t end = base + size - 1; in memblock_reserve()
813 return memblock_add_range(&memblock.reserved, base, size, MAX_NUMNODES, 0); in memblock_reserve()
828 phys_addr_t size, int set, int flag) in memblock_setclr_flag() argument
833 ret = memblock_isolate_range(type, base, size, &start_rgn, &end_rgn); in memblock_setclr_flag()
854 int __init_memblock memblock_mark_hotplug(phys_addr_t base, phys_addr_t size) in memblock_mark_hotplug() argument
856 return memblock_setclr_flag(base, size, 1, MEMBLOCK_HOTPLUG); in memblock_mark_hotplug()
866 int __init_memblock memblock_clear_hotplug(phys_addr_t base, phys_addr_t size) in memblock_clear_hotplug() argument
868 return memblock_setclr_flag(base, size, 0, MEMBLOCK_HOTPLUG); in memblock_clear_hotplug()
878 int __init_memblock memblock_mark_mirror(phys_addr_t base, phys_addr_t size) in memblock_mark_mirror() argument
882 return memblock_setclr_flag(base, size, 1, MEMBLOCK_MIRROR); in memblock_mark_mirror()
892 int __init_memblock memblock_mark_nomap(phys_addr_t base, phys_addr_t size) in memblock_mark_nomap() argument
894 return memblock_setclr_flag(base, size, 1, MEMBLOCK_NOMAP); in memblock_mark_nomap()
904 int __init_memblock memblock_clear_nomap(phys_addr_t base, phys_addr_t size) in memblock_clear_nomap() argument
906 return memblock_setclr_flag(base, size, 0, MEMBLOCK_NOMAP); in memblock_clear_nomap()
926 phys_addr_t size = r->size; in __next_reserved_mem_region() local
931 *out_end = base + size - 1; in __next_reserved_mem_region()
985 phys_addr_t m_end = m->base + m->size; in __next_mem_range()
1023 r_start = idx_b ? r[-1].base + r[-1].size : 0; in __next_mem_range()
1102 phys_addr_t m_end = m->base + m->size; in __next_mem_range_rev()
1140 r_start = idx_b ? r[-1].base + r[-1].size : 0; in __next_mem_range_rev()
1185 if (PFN_UP(r->base) >= PFN_DOWN(r->base + r->size)) in __next_mem_pfn_range()
1198 *out_end_pfn = PFN_DOWN(r->base + r->size); in __next_mem_pfn_range()
1216 int __init_memblock memblock_set_node(phys_addr_t base, phys_addr_t size, in memblock_set_node() argument
1222 ret = memblock_isolate_range(type, base, size, &start_rgn, &end_rgn); in memblock_set_node()
1234 static phys_addr_t __init memblock_alloc_range_nid(phys_addr_t size, in memblock_alloc_range_nid() argument
1244 found = memblock_find_in_range_node(size, align, start, end, nid, in memblock_alloc_range_nid()
1246 if (found && !memblock_reserve(found, size)) { in memblock_alloc_range_nid()
1251 kmemleak_alloc_phys(found, size, 0, 0); in memblock_alloc_range_nid()
1257 phys_addr_t __init memblock_alloc_range(phys_addr_t size, phys_addr_t align, in memblock_alloc_range() argument
1261 return memblock_alloc_range_nid(size, align, start, end, NUMA_NO_NODE, in memblock_alloc_range()
1265 phys_addr_t __init memblock_alloc_base_nid(phys_addr_t size, in memblock_alloc_base_nid() argument
1269 return memblock_alloc_range_nid(size, align, 0, max_addr, nid, flags); in memblock_alloc_base_nid()
1272 phys_addr_t __init memblock_alloc_nid(phys_addr_t size, phys_addr_t align, int nid) in memblock_alloc_nid() argument
1278 ret = memblock_alloc_base_nid(size, align, MEMBLOCK_ALLOC_ACCESSIBLE, in memblock_alloc_nid()
1288 phys_addr_t __init __memblock_alloc_base(phys_addr_t size, phys_addr_t align, phys_addr_t max_addr) in __memblock_alloc_base() argument
1290 return memblock_alloc_base_nid(size, align, max_addr, NUMA_NO_NODE, in __memblock_alloc_base()
1294 phys_addr_t __init memblock_alloc_base(phys_addr_t size, phys_addr_t align, phys_addr_t max_addr) in memblock_alloc_base() argument
1298 alloc = __memblock_alloc_base(size, align, max_addr); in memblock_alloc_base()
1302 &size, &max_addr); in memblock_alloc_base()
1307 phys_addr_t __init memblock_alloc(phys_addr_t size, phys_addr_t align) in memblock_alloc() argument
1309 return memblock_alloc_base(size, align, MEMBLOCK_ALLOC_ACCESSIBLE); in memblock_alloc()
1312 phys_addr_t __init memblock_alloc_try_nid(phys_addr_t size, phys_addr_t align, int nid) in memblock_alloc_try_nid() argument
1314 phys_addr_t res = memblock_alloc_nid(size, align, nid); in memblock_alloc_try_nid()
1318 return memblock_alloc_base(size, align, MEMBLOCK_ALLOC_ACCESSIBLE); in memblock_alloc_try_nid()
1350 phys_addr_t size, phys_addr_t align, in memblock_virt_alloc_internal() argument
1367 return kzalloc_node(size, GFP_NOWAIT, nid); in memblock_virt_alloc_internal()
1375 alloc = memblock_find_in_range_node(size, align, min_addr, max_addr, in memblock_virt_alloc_internal()
1377 if (alloc && !memblock_reserve(alloc, size)) in memblock_virt_alloc_internal()
1381 alloc = memblock_find_in_range_node(size, align, min_addr, in memblock_virt_alloc_internal()
1384 if (alloc && !memblock_reserve(alloc, size)) in memblock_virt_alloc_internal()
1396 &size); in memblock_virt_alloc_internal()
1410 kmemleak_alloc(ptr, size, 0, 0); in memblock_virt_alloc_internal()
1435 phys_addr_t size, phys_addr_t align, in memblock_virt_alloc_try_nid_raw() argument
1442 __func__, (u64)size, (u64)align, nid, &min_addr, in memblock_virt_alloc_try_nid_raw()
1445 ptr = memblock_virt_alloc_internal(size, align, in memblock_virt_alloc_try_nid_raw()
1448 if (ptr && size > 0) in memblock_virt_alloc_try_nid_raw()
1449 memset(ptr, PAGE_POISON_PATTERN, size); in memblock_virt_alloc_try_nid_raw()
1472 phys_addr_t size, phys_addr_t align, in memblock_virt_alloc_try_nid_nopanic() argument
1479 __func__, (u64)size, (u64)align, nid, &min_addr, in memblock_virt_alloc_try_nid_nopanic()
1482 ptr = memblock_virt_alloc_internal(size, align, in memblock_virt_alloc_try_nid_nopanic()
1485 memset(ptr, 0, size); in memblock_virt_alloc_try_nid_nopanic()
1508 phys_addr_t size, phys_addr_t align, in memblock_virt_alloc_try_nid() argument
1515 __func__, (u64)size, (u64)align, nid, &min_addr, in memblock_virt_alloc_try_nid()
1517 ptr = memblock_virt_alloc_internal(size, align, in memblock_virt_alloc_try_nid()
1520 memset(ptr, 0, size); in memblock_virt_alloc_try_nid()
1525 __func__, (u64)size, (u64)align, nid, &min_addr, &max_addr); in memblock_virt_alloc_try_nid()
1538 void __init __memblock_free_early(phys_addr_t base, phys_addr_t size) in __memblock_free_early() argument
1540 phys_addr_t end = base + size - 1; in __memblock_free_early()
1544 kmemleak_free_part_phys(base, size); in __memblock_free_early()
1545 memblock_remove_range(&memblock.reserved, base, size); in __memblock_free_early()
1557 void __init __memblock_free_late(phys_addr_t base, phys_addr_t size) in __memblock_free_late() argument
1561 end = base + size - 1; in __memblock_free_late()
1564 kmemleak_free_part_phys(base, size); in __memblock_free_late()
1566 end = PFN_DOWN(base + size); in __memblock_free_late()
1615 return (memblock.memory.regions[idx].base + memblock.memory.regions[idx].size); in memblock_end_of_DRAM()
1629 if (limit <= r->size) { in __find_max_addr()
1633 limit -= r->size; in __find_max_addr()
1659 void __init memblock_cap_memory_range(phys_addr_t base, phys_addr_t size) in memblock_cap_memory_range() argument
1664 if (!size) in memblock_cap_memory_range()
1667 ret = memblock_isolate_range(&memblock.memory, base, size, in memblock_cap_memory_range()
1684 base + size, PHYS_ADDR_MAX); in memblock_cap_memory_range()
1713 type->regions[mid].size)) in memblock_search()
1751 *end_pfn = PFN_DOWN(type->regions[mid].base + type->regions[mid].size); in memblock_search_pfn_nid()
1767 bool __init_memblock memblock_is_region_memory(phys_addr_t base, phys_addr_t size) in memblock_is_region_memory() argument
1770 phys_addr_t end = base + memblock_cap_size(base, &size); in memblock_is_region_memory()
1775 memblock.memory.regions[idx].size) >= end; in memblock_is_region_memory()
1789 bool __init_memblock memblock_is_region_reserved(phys_addr_t base, phys_addr_t size) in memblock_is_region_reserved() argument
1791 memblock_cap_size(base, &size); in memblock_is_region_reserved()
1792 return memblock_overlaps_region(&memblock.reserved, base, size); in memblock_is_region_reserved()
1802 orig_end = r->base + r->size; in memblock_trim_memory()
1811 r->size = end - start; in memblock_trim_memory()
1832 phys_addr_t base, end, size; in memblock_dump() local
1843 size = rgn->size; in memblock_dump()
1844 end = base + size - 1; in memblock_dump()
1852 type->name, idx, &base, &end, &size, nid_buf, flags); in memblock_dump()
1894 end = reg->base + reg->size - 1; in memblock_debug_show()