X-Git-Url: https://git.kernelconcepts.de/?a=blobdiff_plain;f=arch%2Fpowerpc%2Fcpu%2Fmpc512x%2Fstart.S;h=9c2e4885dedbfdb89ab2515952bda60c1f217cf7;hb=8c4734e9afc0856f297805563e83fb74398b9a16;hp=d26b61707e07057c8d82c74af0579b3150d10490;hpb=a47a12becf66f02a56da91c161e2edb625e9f20c;p=karo-tx-uboot.git diff --git a/arch/powerpc/cpu/mpc512x/start.S b/arch/powerpc/cpu/mpc512x/start.S index d26b61707e..9c2e4885de 100644 --- a/arch/powerpc/cpu/mpc512x/start.S +++ b/arch/powerpc/cpu/mpc512x/start.S @@ -29,6 +29,7 @@ * U-Boot - Startup Code for MPC512x based Embedded Boards */ +#include #include #include #include @@ -43,6 +44,7 @@ #include #include +#include #ifndef CONFIG_IDENT_STRING #define CONFIG_IDENT_STRING "MPC512X" @@ -77,7 +79,7 @@ GOT_ENTRY(transfer_to_handler) GOT_ENTRY(__init_end) - GOT_ENTRY(_end) + GOT_ENTRY(__bss_end__) GOT_ENTRY(__bss_start) END_GOT @@ -100,7 +102,6 @@ version_string: .globl _start /* Start from here after reset/power on */ _start: - li r21, BOOTFLAG_COLD /* Normal Power-On: Boot from FLASH */ b boot_cold .globl _start_of_vectors @@ -260,8 +261,6 @@ in_flash: /* run low-level CPU init code (in Flash) */ bl cpu_init_f - /* r3: BOOTFLAG */ - mr r3, r21 /* run 1st part of board init code (in Flash) */ bl board_init_f @@ -615,17 +614,19 @@ in_ram: beq 4f 3: lwzu r4,4(r3) lwzux r0,r4,r11 + cmpwi r0,0 add r0,r0,r11 - stw r10,0(r3) + stw r4,0(r3) + beq- 5f stw r0,0(r4) - bdnz 3b +5: bdnz 3b 4: clear_bss: /* * Now clear BSS segment */ lwz r3,GOT(__bss_start) - lwz r4,GOT(_end) + lwz r4,GOT(__bss_end__) cmplw 0, r3, r4 beq 6f