17487a224SJosh Boyer /* 27487a224SJosh Boyer * Copyright 2007 IBM Corporation 37487a224SJosh Boyer * 47487a224SJosh Boyer * Stephen Winiecki <stevewin@us.ibm.com> 57487a224SJosh Boyer * Josh Boyer <jwboyer@linux.vnet.ibm.com> 67487a224SJosh Boyer * 77487a224SJosh Boyer * Based on earlier code: 87487a224SJosh Boyer * Copyright (C) Paul Mackerras 1997. 97487a224SJosh Boyer * 107487a224SJosh Boyer * This program is free software; you can redistribute it and/or 117487a224SJosh Boyer * modify it under the terms of the GNU General Public License 127487a224SJosh Boyer * version 2 as published by the Free Software Foundation. 137487a224SJosh Boyer */ 147487a224SJosh Boyer #include <stdarg.h> 157487a224SJosh Boyer #include <stddef.h> 167487a224SJosh Boyer #include "types.h" 177487a224SJosh Boyer #include "elf.h" 187487a224SJosh Boyer #include "string.h" 197487a224SJosh Boyer #include "stdio.h" 207487a224SJosh Boyer #include "page.h" 217487a224SJosh Boyer #include "ops.h" 227487a224SJosh Boyer #include "io.h" 237487a224SJosh Boyer 247487a224SJosh Boyer extern char _start[]; 257487a224SJosh Boyer extern char _end[]; 267487a224SJosh Boyer extern char _dtb_start[]; 277487a224SJosh Boyer extern char _dtb_end[]; 287487a224SJosh Boyer 297487a224SJosh Boyer BSS_STACK(4096); 307487a224SJosh Boyer 317487a224SJosh Boyer void platform_init(unsigned long r3, unsigned long r4, unsigned long r5) 327487a224SJosh Boyer { 337487a224SJosh Boyer u32 heapsize = 0x8000000 - (u32)_end; /* 128M */ 347487a224SJosh Boyer 357487a224SJosh Boyer simple_alloc_init(_end, heapsize, 32, 64); 367487a224SJosh Boyer ft_init(_dtb_start, 0, 4); 377487a224SJosh Boyer serial_console_init(); 387487a224SJosh Boyer } 39