From afaf577190536fe8e15fb5b2ed8372dbda82e7b1 Mon Sep 17 00:00:00 2001 From: Paul Nasrat Date: Mon, 3 Dec 2007 13:17:33 +0000 Subject: [PATCH] Try harder to allocate malloc region Patch from dwmw2@infradead.org --- second/yaboot.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/second/yaboot.c b/second/yaboot.c index 4ade077..9b499b9 100644 --- a/second/yaboot.c +++ b/second/yaboot.c @@ -178,6 +178,7 @@ yaboot_start (unsigned long r3, unsigned long r4, unsigned long r5) { int result; void* malloc_base = NULL; + unsigned long addr; prom_handle root; /* OF seems to do it, but I'm not very confident */ @@ -196,7 +197,10 @@ yaboot_start (unsigned long r3, unsigned long r4, unsigned long r5) prom_init ((prom_entry) r5); /* Allocate some memory for malloc'ator */ - malloc_base = prom_claim((void *)MALLOCADDR, MALLOCSIZE, 0); + for (addr = MALLOCADDR; addr <= MALLOCADDR * 16 ;addr+=0x100000) { + malloc_base = prom_claim((void *)addr, MALLOCSIZE, 0); + if (malloc_base != (void *)-1) break; + } if (malloc_base == (void *)-1) { prom_printf("Can't claim malloc buffer (%d bytes at 0x%08x)\n", MALLOCSIZE, MALLOCADDR); -- 2.39.2