diff options
Diffstat (limited to 'arch/powerpc/boot/treeboot-bamboo.c')
-rw-r--r-- | arch/powerpc/boot/treeboot-bamboo.c | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/arch/powerpc/boot/treeboot-bamboo.c b/arch/powerpc/boot/treeboot-bamboo.c new file mode 100644 index 000000000000..9eee48fc7114 --- /dev/null +++ b/arch/powerpc/boot/treeboot-bamboo.c | |||
@@ -0,0 +1,43 @@ | |||
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" | ||
15 | #include "stdlib.h" | ||
16 | |||
17 | BSS_STACK(4096); | ||
18 | |||
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 | |||
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); | ||
41 | read_pibs_mac(); | ||
42 | bamboo_init((u8 *)&pibs_mac0, (u8 *)&pibs_mac1); | ||
43 | } | ||