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