|
@@ -1020,7 +1020,7 @@ static unsigned long __init alloc_up(unsigned long size, unsigned long align)
|
|
|
}
|
|
|
if (addr == 0)
|
|
|
return 0;
|
|
|
- RELOC(alloc_bottom) = addr;
|
|
|
+ RELOC(alloc_bottom) = addr + size;
|
|
|
|
|
|
prom_debug(" -> %x\n", addr);
|
|
|
prom_debug(" alloc_bottom : %x\n", RELOC(alloc_bottom));
|
|
@@ -1834,7 +1834,7 @@ static void __init *make_room(unsigned long *mem_start, unsigned long *mem_end,
|
|
|
chunk = alloc_up(room, 0);
|
|
|
if (chunk == 0)
|
|
|
prom_panic("No memory for flatten_device_tree (claim failed)");
|
|
|
- *mem_end = RELOC(alloc_top);
|
|
|
+ *mem_end = chunk + room;
|
|
|
}
|
|
|
|
|
|
ret = (void *)*mem_start;
|
|
@@ -2053,7 +2053,7 @@ static void __init flatten_device_tree(void)
|
|
|
mem_start = (unsigned long)alloc_up(room, PAGE_SIZE);
|
|
|
if (mem_start == 0)
|
|
|
prom_panic("Can't allocate initial device-tree chunk\n");
|
|
|
- mem_end = RELOC(alloc_top);
|
|
|
+ mem_end = mem_start + room;
|
|
|
|
|
|
/* Get root of tree */
|
|
|
root = call_prom("peer", 1, 1, (phandle)0);
|