Lines Matching refs:base
80 static inline phys_addr_t memblock_cap_size(phys_addr_t base, phys_addr_t *size) in memblock_cap_size() argument
82 return *size = min(*size, (phys_addr_t)ULLONG_MAX - base); in memblock_cap_size()
95 phys_addr_t base, phys_addr_t size) in memblock_overlaps_region() argument
100 phys_addr_t rgnbase = type->regions[i].base; in memblock_overlaps_region()
102 if (memblock_addrs_overlap(base, size, rgnbase, rgnsize)) in memblock_overlaps_region()
296 type->regions[0].base = 0; in memblock_remove_region()
463 if (this->base + this->size != next->base || in memblock_merge_regions()
467 BUG_ON(this->base + this->size > next->base); in memblock_merge_regions()
492 int idx, phys_addr_t base, in memblock_insert_region() argument
500 rgn->base = base; in memblock_insert_region()
525 phys_addr_t base, phys_addr_t size, in memblock_add_range() argument
529 phys_addr_t obase = base; in memblock_add_range()
530 phys_addr_t end = base + memblock_cap_size(base, &size); in memblock_add_range()
539 type->regions[0].base = base; in memblock_add_range()
552 base = obase; in memblock_add_range()
557 phys_addr_t rbase = rgn->base; in memblock_add_range()
562 if (rend <= base) in memblock_add_range()
568 if (rbase > base) { in memblock_add_range()
575 memblock_insert_region(type, i++, base, in memblock_add_range()
576 rbase - base, nid, in memblock_add_range()
580 base = min(rend, end); in memblock_add_range()
584 if (base < end) { in memblock_add_range()
587 memblock_insert_region(type, i, base, end - base, in memblock_add_range()
607 int __init_memblock memblock_add_node(phys_addr_t base, phys_addr_t size, in memblock_add_node() argument
610 return memblock_add_range(&memblock.memory, base, size, nid, 0); in memblock_add_node()
613 static int __init_memblock memblock_add_region(phys_addr_t base, in memblock_add_region() argument
621 (unsigned long long)base, in memblock_add_region()
622 (unsigned long long)base + size - 1, in memblock_add_region()
625 return memblock_add_range(type, base, size, nid, flags); in memblock_add_region()
628 int __init_memblock memblock_add(phys_addr_t base, phys_addr_t size) in memblock_add() argument
630 return memblock_add_region(base, size, MAX_NUMNODES, 0); in memblock_add()
650 phys_addr_t base, phys_addr_t size, in memblock_isolate_range() argument
653 phys_addr_t end = base + memblock_cap_size(base, &size); in memblock_isolate_range()
663 if (memblock_double_array(type, base, size) < 0) in memblock_isolate_range()
668 phys_addr_t rbase = rgn->base; in memblock_isolate_range()
673 if (rend <= base) in memblock_isolate_range()
676 if (rbase < base) { in memblock_isolate_range()
681 rgn->base = base; in memblock_isolate_range()
682 rgn->size -= base - rbase; in memblock_isolate_range()
683 type->total_size -= base - rbase; in memblock_isolate_range()
684 memblock_insert_region(type, i, rbase, base - rbase, in memblock_isolate_range()
692 rgn->base = end; in memblock_isolate_range()
710 phys_addr_t base, phys_addr_t size) in memblock_remove_range() argument
715 ret = memblock_isolate_range(type, base, size, &start_rgn, &end_rgn); in memblock_remove_range()
724 int __init_memblock memblock_remove(phys_addr_t base, phys_addr_t size) in memblock_remove() argument
726 return memblock_remove_range(&memblock.memory, base, size); in memblock_remove()
730 int __init_memblock memblock_free(phys_addr_t base, phys_addr_t size) in memblock_free() argument
733 (unsigned long long)base, in memblock_free()
734 (unsigned long long)base + size - 1, in memblock_free()
737 kmemleak_free_part(__va(base), size); in memblock_free()
738 return memblock_remove_range(&memblock.reserved, base, size); in memblock_free()
741 static int __init_memblock memblock_reserve_region(phys_addr_t base, in memblock_reserve_region() argument
749 (unsigned long long)base, in memblock_reserve_region()
750 (unsigned long long)base + size - 1, in memblock_reserve_region()
753 return memblock_add_range(type, base, size, nid, flags); in memblock_reserve_region()
756 int __init_memblock memblock_reserve(phys_addr_t base, phys_addr_t size) in memblock_reserve() argument
758 return memblock_reserve_region(base, size, MAX_NUMNODES, 0); in memblock_reserve()
767 static int __init_memblock memblock_setclr_flag(phys_addr_t base, in memblock_setclr_flag() argument
773 ret = memblock_isolate_range(type, base, size, &start_rgn, &end_rgn); in memblock_setclr_flag()
794 int __init_memblock memblock_mark_hotplug(phys_addr_t base, phys_addr_t size) in memblock_mark_hotplug() argument
796 return memblock_setclr_flag(base, size, 1, MEMBLOCK_HOTPLUG); in memblock_mark_hotplug()
806 int __init_memblock memblock_clear_hotplug(phys_addr_t base, phys_addr_t size) in memblock_clear_hotplug() argument
808 return memblock_setclr_flag(base, size, 0, MEMBLOCK_HOTPLUG); in memblock_clear_hotplug()
818 int __init_memblock memblock_mark_mirror(phys_addr_t base, phys_addr_t size) in memblock_mark_mirror() argument
822 return memblock_setclr_flag(base, size, 1, MEMBLOCK_MIRROR); in memblock_mark_mirror()
842 phys_addr_t base = r->base; in __next_reserved_mem_region() local
846 *out_start = base; in __next_reserved_mem_region()
848 *out_end = base + size - 1; in __next_reserved_mem_region()
900 phys_addr_t m_start = m->base; in __next_mem_range()
901 phys_addr_t m_end = m->base + m->size; in __next_mem_range()
935 r_start = idx_b ? r[-1].base + r[-1].size : 0; in __next_mem_range()
937 r->base : ULLONG_MAX; in __next_mem_range()
1009 phys_addr_t m_start = m->base; in __next_mem_range_rev()
1010 phys_addr_t m_end = m->base + m->size; in __next_mem_range_rev()
1044 r_start = idx_b ? r[-1].base + r[-1].size : 0; in __next_mem_range_rev()
1046 r->base : ULLONG_MAX; in __next_mem_range_rev()
1089 if (PFN_UP(r->base) >= PFN_DOWN(r->base + r->size)) in __next_mem_pfn_range()
1100 *out_start_pfn = PFN_UP(r->base); in __next_mem_pfn_range()
1102 *out_end_pfn = PFN_DOWN(r->base + r->size); in __next_mem_pfn_range()
1120 int __init_memblock memblock_set_node(phys_addr_t base, phys_addr_t size, in memblock_set_node() argument
1126 ret = memblock_isolate_range(type, base, size, &start_rgn, &end_rgn); in memblock_set_node()
1396 void __init __memblock_free_early(phys_addr_t base, phys_addr_t size) in __memblock_free_early() argument
1399 __func__, (u64)base, (u64)base + size - 1, in __memblock_free_early()
1401 kmemleak_free_part(__va(base), size); in __memblock_free_early()
1402 memblock_remove_range(&memblock.reserved, base, size); in __memblock_free_early()
1414 void __init __memblock_free_late(phys_addr_t base, phys_addr_t size) in __memblock_free_late() argument
1419 __func__, (u64)base, (u64)base + size - 1, in __memblock_free_late()
1421 kmemleak_free_part(__va(base), size); in __memblock_free_late()
1422 cursor = PFN_UP(base); in __memblock_free_late()
1423 end = PFN_DOWN(base + size); in __memblock_free_late()
1460 return memblock.memory.regions[0].base; in memblock_start_of_DRAM()
1467 return (memblock.memory.regions[idx].base + memblock.memory.regions[idx].size); in memblock_end_of_DRAM()
1481 max_addr = r->base + limit; in memblock_enforce_memory_limit()
1501 if (addr < type->regions[mid].base) in memblock_search()
1503 else if (addr >= (type->regions[mid].base + in memblock_search()
1532 *start_pfn = PFN_DOWN(type->regions[mid].base); in memblock_search_pfn_nid()
1533 *end_pfn = PFN_DOWN(type->regions[mid].base + type->regions[mid].size); in memblock_search_pfn_nid()
1549 int __init_memblock memblock_is_region_memory(phys_addr_t base, phys_addr_t size) in memblock_is_region_memory() argument
1551 int idx = memblock_search(&memblock.memory, base); in memblock_is_region_memory()
1552 phys_addr_t end = base + memblock_cap_size(base, &size); in memblock_is_region_memory()
1556 return memblock.memory.regions[idx].base <= base && in memblock_is_region_memory()
1557 (memblock.memory.regions[idx].base + in memblock_is_region_memory()
1571 bool __init_memblock memblock_is_region_reserved(phys_addr_t base, phys_addr_t size) in memblock_is_region_reserved() argument
1573 memblock_cap_size(base, &size); in memblock_is_region_reserved()
1574 return memblock_overlaps_region(&memblock.reserved, base, size); in memblock_is_region_reserved()
1583 orig_start = r->base; in memblock_trim_memory()
1584 orig_end = r->base + r->size; in memblock_trim_memory()
1592 r->base = start; in memblock_trim_memory()
1614 unsigned long long base, size; in memblock_dump() local
1624 base = rgn->base; in memblock_dump()
1633 name, i, base, base + size - 1, size, nid_buf, flags); in memblock_dump()
1674 (unsigned long)reg->base, in memblock_debug_show()
1675 (unsigned long)(reg->base + reg->size - 1)); in memblock_debug_show()
1678 (unsigned long long)reg->base, in memblock_debug_show()
1679 (unsigned long long)(reg->base + reg->size - 1)); in memblock_debug_show()