powerpc/bootwrapper: Use the child-bus #address-cells to decide which range entry...
[linux-2.6] / arch / powerpc / boot / treeboot-bamboo.c
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 }