1*7487a224SJosh Boyer /* 2*7487a224SJosh Boyer * Copyright 2007 IBM Corporation 3*7487a224SJosh Boyer * 4*7487a224SJosh Boyer * Stephen Winiecki <stevewin@us.ibm.com> 5*7487a224SJosh Boyer * Josh Boyer <jwboyer@linux.vnet.ibm.com> 6*7487a224SJosh Boyer * 7*7487a224SJosh Boyer * Based on earlier code: 8*7487a224SJosh Boyer * Copyright (C) Paul Mackerras 1997. 9*7487a224SJosh Boyer * 10*7487a224SJosh Boyer * This program is free software; you can redistribute it and/or 11*7487a224SJosh Boyer * modify it under the terms of the GNU General Public License 12*7487a224SJosh Boyer * version 2 as published by the Free Software Foundation. 13*7487a224SJosh Boyer */ 14*7487a224SJosh Boyer #include <stdarg.h> 15*7487a224SJosh Boyer #include <stddef.h> 16*7487a224SJosh Boyer #include "types.h" 17*7487a224SJosh Boyer #include "elf.h" 18*7487a224SJosh Boyer #include "string.h" 19*7487a224SJosh Boyer #include "stdio.h" 20*7487a224SJosh Boyer #include "page.h" 21*7487a224SJosh Boyer #include "ops.h" 22*7487a224SJosh Boyer #include "io.h" 23*7487a224SJosh Boyer 24*7487a224SJosh Boyer extern char _start[]; 25*7487a224SJosh Boyer extern char _end[]; 26*7487a224SJosh Boyer extern char _dtb_start[]; 27*7487a224SJosh Boyer extern char _dtb_end[]; 28*7487a224SJosh Boyer 29*7487a224SJosh Boyer BSS_STACK(4096); 30*7487a224SJosh Boyer 31*7487a224SJosh Boyer void platform_init(unsigned long r3, unsigned long r4, unsigned long r5) 32*7487a224SJosh Boyer { 33*7487a224SJosh Boyer u32 heapsize = 0x8000000 - (u32)_end; /* 128M */ 34*7487a224SJosh Boyer 35*7487a224SJosh Boyer simple_alloc_init(_end, heapsize, 32, 64); 36*7487a224SJosh Boyer ft_init(_dtb_start, 0, 4); 37*7487a224SJosh Boyer serial_console_init(); 38*7487a224SJosh Boyer } 39