On Fri, Sep 14, 2007 at 01:54:11PM -0500, Josh Boyer wrote:
> Add a cuboot wrapper for the Bamboo board.  This also removes some obsoleted
> linker declarations that have been moved into ops.h
> 
> Signed-off-by: Josh Boyer <[EMAIL PROTECTED]>
> Acked-by: David Gibson <[EMAIL PROTECTED]>

Heh, well, I know I acked this already, but...

[snip]
> --- /dev/null
> +++ linux-2.6/arch/powerpc/boot/cuboot-bamboo.c
> @@ -0,0 +1,30 @@
> +/*
> + * Old U-boot compatibility for Ebony

Error in the comment here.

[snip]
> --- linux-2.6.orig/arch/powerpc/boot/bamboo.c
> +++ linux-2.6/arch/powerpc/boot/bamboo.c
> @@ -24,8 +24,7 @@
>  #include "4xx.h"
>  #include "44x.h"
>  
> -extern char _dtb_start[];
> -extern char _dtb_end[];
> +static u8 *bamboo_mac0, *bamboo_mac1;

This additional handling of the MAC addresses should really also be
mentioned in the commit comment.

>  
>  static void bamboo_fixups(void)
>  {
> @@ -34,12 +33,15 @@ static void bamboo_fixups(void)
>       ibm440ep_fixup_clocks(sysclk, 11059200);
>       ibm4xx_fixup_memsize();
>       ibm4xx_quiesce_eth((u32 *)0xef600e00, (u32 *)0xef600f00);
> +     dt_fixup_mac_addresses(bamboo_mac0, bamboo_mac1);
>  }
>  
> -void bamboo_init(void)
> +void bamboo_init(void *mac0, void *mac1)
>  {
>       platform_ops.fixups = bamboo_fixups;
>       platform_ops.exit = ibm44x_dbcr_reset;
> +     bamboo_mac0 = mac0;
> +     bamboo_mac1 = mac1;
>       ft_init(_dtb_start, 0, 32);
>       serial_console_init();
>  }
> --- linux-2.6.orig/arch/powerpc/boot/treeboot-bamboo.c
> +++ linux-2.6/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);
>  }
> 

-- 
David Gibson                    | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au  | minimalist, thank you.  NOT _the_ _other_
                                | _way_ _around_!
http://www.ozlabs.org/~dgibson
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to