Lines Matching refs:start
126 static int __init numa_add_memblk_to(int nid, u64 start, u64 end,
130 if (start == end)
134 if (start > end || nid < 0 || nid >= MAX_NUMNODES) {
136 nid, start, end - 1);
145 mi->blk[mi->nr_blks].start = start;
183 * @start: Start address of the new memblk
191 int __init numa_add_memblk(int nid, u64 start, u64 end)
193 return numa_add_memblk_to(nid, start, end, &numa_meminfo);
251 bi->start, bi->end - bi->start)) {
257 bi->start = max(bi->start, low);
267 if (bi->start >= bi->end)
277 u64 start, end;
284 if (bi->end > bj->start && bi->start < bj->end) {
287 bi->nid, bi->start, bi->end - 1,
288 bj->nid, bj->start, bj->end - 1);
292 bi->nid, bi->start, bi->end - 1,
293 bj->start, bj->end - 1);
303 start = min(bi->start, bj->start);
310 if (start < bk->end && end > bk->start)
316 bi->nid, bi->start, bi->end - 1, bj->start,
317 bj->end - 1, start, end - 1);
318 bi->start = start;
326 mi->blk[i].start = mi->blk[i].end = 0;
342 if (mi->blk[i].start != mi->blk[i].end &&
462 u64 s = mi->blk[i].start >> PAGE_SHIFT;
510 ret = memblock_set_node(mb->start, mb->end - mb->start, &memblock.reserved, mb->nid);
544 memblock_clear_hotplug(mb->start, mb->end - mb->start);
560 memblock_set_node(mb->start, mb->end - mb->start,
592 u64 start = PFN_PHYS(max_pfn);
598 start = min(mi->blk[i].start, start);
602 if (start >= end)
924 static int meminfo_to_nid(struct numa_meminfo *mi, u64 start)
929 if (mi->blk[i].start <= start && mi->blk[i].end > start)
934 int phys_to_target_node(phys_addr_t start)
936 int nid = meminfo_to_nid(&numa_meminfo, start);
945 return meminfo_to_nid(&numa_reserved_meminfo, start);
949 int memory_add_physaddr_to_nid(u64 start)
951 int nid = meminfo_to_nid(&numa_meminfo, start);
964 return (ma->start > mb->start) - (ma->start < mb->start);
971 * @start: address to begin fill
975 * address range @start-@end
979 * NUMA_NO_MEMBLK : No memblks exist in address range @start-@end
982 int __init numa_fill_memblks(u64 start, u64 end)
991 * overlap start, end. The list is used to make in-place
997 if (memblock_addrs_overlap(start, end - start, bi->start,
998 bi->end - bi->start)) {
1006 /* Sort the list of pointers in memblk->start order */
1009 /* Make sure the first/last memblks include start/end */
1010 blk[0]->start = min(blk[0]->start, start);
1021 if (prev_end >= curr->start) {
1025 curr->start = prev_end;