aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/boot/treeboot-bamboo.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/boot/treeboot-bamboo.c')
-rw-r--r--arch/powerpc/boot/treeboot-bamboo.c22
1 files changed, 19 insertions, 3 deletions
diff --git a/arch/powerpc/boot/treeboot-bamboo.c b/arch/powerpc/boot/treeboot-bamboo.c
index 1f1fe5aaac12..9eee48fc7114 100644
--- a/arch/powerpc/boot/treeboot-bamboo.c
+++ b/arch/powerpc/boot/treeboot-bamboo.c
@@ -12,16 +12,32 @@
12#include "ops.h" 12#include "ops.h"
13#include "stdio.h" 13#include "stdio.h"
14#include "44x.h" 14#include "44x.h"
15 15#include "stdlib.h"
16extern char _end[];
17 16
18BSS_STACK(4096); 17BSS_STACK(4096);
19 18
19#define PIBS_MAC0 0xfffc0400
20#define PIBS_MAC1 0xfffc0500
21char pibs_mac0[6];
22char pibs_mac1[6];
23
24static 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
20void platform_init(void) 35void platform_init(void)
21{ 36{
22 unsigned long end_of_ram = 0x8000000; 37 unsigned long end_of_ram = 0x8000000;
23 unsigned long avail_ram = end_of_ram - (unsigned long)_end; 38 unsigned long avail_ram = end_of_ram - (unsigned long)_end;
24 39
25 simple_alloc_init(_end, avail_ram, 32, 64); 40 simple_alloc_init(_end, avail_ram, 32, 64);
26 bamboo_init(); 41 read_pibs_mac();
42 bamboo_init((u8 *)&pibs_mac0, (u8 *)&pibs_mac1);
27} 43}