|
@@ -531,35 +531,3 @@ int memblock_is_region_reserved(u64 base, u64 size)
|
|
|
return memblock_overlaps_region(&memblock.reserved, base, size) >= 0;
|
|
|
}
|
|
|
|
|
|
-/*
|
|
|
- * Given a <base, len>, find which memory regions belong to this range.
|
|
|
- * Adjust the request and return a contiguous chunk.
|
|
|
- */
|
|
|
-int memblock_find(struct memblock_region *res)
|
|
|
-{
|
|
|
- int i;
|
|
|
- u64 rstart, rend;
|
|
|
-
|
|
|
- rstart = res->base;
|
|
|
- rend = rstart + res->size - 1;
|
|
|
-
|
|
|
- for (i = 0; i < memblock.memory.cnt; i++) {
|
|
|
- u64 start = memblock.memory.regions[i].base;
|
|
|
- u64 end = start + memblock.memory.regions[i].size - 1;
|
|
|
-
|
|
|
- if (start > rend)
|
|
|
- return -1;
|
|
|
-
|
|
|
- if ((end >= rstart) && (start < rend)) {
|
|
|
- /* adjust the request */
|
|
|
- if (rstart < start)
|
|
|
- rstart = start;
|
|
|
- if (rend > end)
|
|
|
- rend = end;
|
|
|
- res->base = rstart;
|
|
|
- res->size = rend - rstart + 1;
|
|
|
- return 0;
|
|
|
- }
|
|
|
- }
|
|
|
- return -1;
|
|
|
-}
|