diff options
author | Josh Boyer <jwboyer@linux.vnet.ibm.com> | 2007-09-15 04:54:11 +1000 |
---|---|---|
committer | Josh Boyer <jwboyer@gmail.com> | 2007-09-19 21:13:16 -0500 |
commit | 658e81701970a82d33f46241f20be416ebd5e930 (patch) | |
tree | 3390a85f111ee99c666dacb0573c455fe0ac2cf5 /arch/powerpc/boot/treeboot-bamboo.c | |
parent | 0ce49a3945474fc942ec37c0c0efece60f592f80 (diff) | |
download | linux-658e81701970a82d33f46241f20be416ebd5e930.tar.bz2 |
[POWERPC] cuimage for Bamboo board
Add a cuboot wrapper for the Bamboo board. Additionally, we enable MAC
address fixups for both cuboot and treeboot.
This also removes some obsoleted linker declarations that have been
moved into ops.h
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
Acked-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'arch/powerpc/boot/treeboot-bamboo.c')
-rw-r--r-- | arch/powerpc/boot/treeboot-bamboo.c | 22 |
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 @@ #include "ops.h" #include "stdio.h" #include "44x.h" - -extern char _end[]; +#include "stdlib.h" BSS_STACK(4096); +#define PIBS_MAC0 0xfffc0400 +#define PIBS_MAC1 0xfffc0500 +char pibs_mac0[6]; +char pibs_mac1[6]; + +static void read_pibs_mac(void) +{ + unsigned long long mac64; + + mac64 = strtoull((char *)PIBS_MAC0, 0, 16); + memcpy(&pibs_mac0, (char *)&mac64+2, 6); + + mac64 = strtoull((char *)PIBS_MAC1, 0, 16); + memcpy(&pibs_mac1, (char *)&mac64+2, 6); +} + void platform_init(void) { unsigned long end_of_ram = 0x8000000; unsigned long avail_ram = end_of_ram - (unsigned long)_end; simple_alloc_init(_end, avail_ram, 32, 64); - bamboo_init(); + read_pibs_mac(); + bamboo_init((u8 *)&pibs_mac0, (u8 *)&pibs_mac1); } |