Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
treeboot-bamboo.c
Go to the documentation of this file.
1 /*
2  * Copyright IBM Corporation, 2007
3  * Josh Boyer <[email protected]>
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();
43 }