Josh Boyer | 2ba4573 | 2007-08-20 07:30:32 -0500 | [diff] [blame] | 1 | /* |
| 2 | * Copyright IBM Corporation, 2007 |
| 3 | * Josh Boyer <jwboyer@linux.vnet.ibm.com> |
| 4 | * |
| 5 | * Based on ebony wrapper: |
| 6 | * Copyright 2007 David Gibson, IBM Corporation. |
| 7 | * |
| 8 | * This program is free software; you can redistribute it and/or |
| 9 | * modify it under the terms of the GNU General Public License |
| 10 | * as published by the Free Software Foundation; version 2 of the License |
| 11 | */ |
| 12 | #include "ops.h" |
| 13 | #include "stdio.h" |
| 14 | #include "44x.h" |
Josh Boyer | 658e817 | 2007-09-15 04:54:11 +1000 | [diff] [blame] | 15 | #include "stdlib.h" |
Josh Boyer | 2ba4573 | 2007-08-20 07:30:32 -0500 | [diff] [blame] | 16 | |
| 17 | BSS_STACK(4096); |
| 18 | |
Josh Boyer | 658e817 | 2007-09-15 04:54:11 +1000 | [diff] [blame] | 19 | #define PIBS_MAC0 0xfffc0400 |
| 20 | #define PIBS_MAC1 0xfffc0500 |
| 21 | char pibs_mac0[6]; |
| 22 | char pibs_mac1[6]; |
| 23 | |
| 24 | static void read_pibs_mac(void) |
| 25 | { |
| 26 | unsigned long long mac64; |
| 27 | |
| 28 | mac64 = strtoull((char *)PIBS_MAC0, 0, 16); |
| 29 | memcpy(&pibs_mac0, (char *)&mac64+2, 6); |
| 30 | |
| 31 | mac64 = strtoull((char *)PIBS_MAC1, 0, 16); |
| 32 | memcpy(&pibs_mac1, (char *)&mac64+2, 6); |
| 33 | } |
| 34 | |
Josh Boyer | 2ba4573 | 2007-08-20 07:30:32 -0500 | [diff] [blame] | 35 | void platform_init(void) |
| 36 | { |
| 37 | unsigned long end_of_ram = 0x8000000; |
| 38 | unsigned long avail_ram = end_of_ram - (unsigned long)_end; |
| 39 | |
| 40 | simple_alloc_init(_end, avail_ram, 32, 64); |
Josh Boyer | 658e817 | 2007-09-15 04:54:11 +1000 | [diff] [blame] | 41 | read_pibs_mac(); |
| 42 | bamboo_init((u8 *)&pibs_mac0, (u8 *)&pibs_mac1); |
Josh Boyer | 2ba4573 | 2007-08-20 07:30:32 -0500 | [diff] [blame] | 43 | } |