mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-09-29 16:10:24 +09:00
Fix ppc4xx clear_bss() code
ppc4xx clear_bss() fails if BSS segment size is not divisible by 4 without remainder. This patch provides fix for this problem. Signed-off-by: Anatolij Gustschin <agust@denx.de>
This commit is contained in:
parent
85dc2a7f82
commit
42ed33ffe1
@ -1494,16 +1494,25 @@ clear_bss:
|
||||
lwz r4,GOT(_end)
|
||||
|
||||
cmplw 0, r3, r4
|
||||
beq 6f
|
||||
beq 7f
|
||||
|
||||
li r0, 0
|
||||
5:
|
||||
|
||||
andi. r5, r4, 3
|
||||
beq 6f
|
||||
sub r4, r4, r5
|
||||
mtctr r5
|
||||
mr r5, r4
|
||||
5: stb r0, 0(r5)
|
||||
addi r5, r5, 1
|
||||
bdnz 5b
|
||||
6:
|
||||
stw r0, 0(r3)
|
||||
addi r3, r3, 4
|
||||
cmplw 0, r3, r4
|
||||
bne 5b
|
||||
6:
|
||||
bne 6b
|
||||
|
||||
7:
|
||||
mr r3, r9 /* Init Data pointer */
|
||||
mr r4, r10 /* Destination Address */
|
||||
bl board_init_r
|
||||
|
Loading…
Reference in New Issue
Block a user