From patchwork Fri Jul 9 05:03:41 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Blanchard X-Patchwork-Id: 58334 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from bilbo.ozlabs.org (localhost [127.0.0.1]) by ozlabs.org (Postfix) with ESMTP id 43CE0B7096 for ; Fri, 9 Jul 2010 15:11:42 +1000 (EST) Received: by ozlabs.org (Postfix, from userid 1010) id 3CD2AB6F19; Fri, 9 Jul 2010 15:11:41 +1000 (EST) Message-Id: <20100709050342.351252117@samba.org> User-Agent: quilt/0.48-1 Date: Fri, 09 Jul 2010 15:03:41 +1000 From: Anton Blanchard To: yaboot-devel@lists.ozlabs.org Subject: [patch 11/14] Allocate malloc region with prom_claim_chunk_top References: <20100709050330.507659708@samba.org> Content-Disposition: inline; filename=move_yaboot_malloc X-BeenThere: yaboot-devel@lists.ozlabs.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: Technical and development discussion regarding yaboot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: yaboot-devel-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Errors-To: yaboot-devel-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org We want the kernel and initrd to be as low as possible in the address space. Allocate the temporary malloc region at the top of the address space. Signed-off-by: Anton Blanchard Index: yaboot/Makefile =================================================================== --- yaboot.orig/Makefile 2010-07-08 17:03:10.000000000 +1000 +++ yaboot/Makefile 2010-07-08 17:04:17.000000000 +1000 @@ -17,8 +17,7 @@ GETROOT = fakeroot # Load the bootstrap at 2Mb TEXTADDR = 0x200000 -# Malloc block at 3Mb -> 4Mb -MALLOCADDR = 0x300000 +# Malloc block of 1MB MALLOCSIZE = 0x100000 # Load kernel and ramdisk at real-base. If there is overlap, will retry until find open space KERNELADDR = 0x00C00000 Index: yaboot/second/yaboot.c =================================================================== --- yaboot.orig/second/yaboot.c 2010-07-08 17:03:57.000000000 +1000 +++ yaboot/second/yaboot.c 2010-07-08 17:03:59.000000000 +1000 @@ -185,10 +185,10 @@ yaboot_start (unsigned long r3, unsigned prom_claim_chunk(0, 128 * 1024 * 1024, 0); /* Allocate some memory for malloc'ator */ - malloc_base = prom_claim_chunk((void *)MALLOCADDR, MALLOCSIZE, 0); + malloc_base = prom_claim_chunk_top(MALLOCSIZE, 0); if (malloc_base == (void *)-1) { - prom_printf("Can't claim malloc buffer (%d bytes at 0x%08x)\n", - MALLOCSIZE, MALLOCADDR); + prom_printf("Can't claim malloc buffer of %d bytes\n", + MALLOCSIZE); return -1; } malloc_init(malloc_base, MALLOCSIZE);