[ppc44x-patch] Is this a bug?

From
Chenfeng Zhou <hidden>
Date
2005-05-27 04:24:27
In linux-2.4.25 source tree, maybe there's something wrong with the boot process of 
ppc44x cpu.

In arch/ppc/boot/common/relocate.S, we decompress the kernel to address 0, then jump
there to do real boot job (arch/ppc/kernel/head_44x.S). But the last expression is `ba 0x000c'.

Actually there's only one nop at the begining of head_44x.S, so the expression should
be `ba 0x0004' for ppc-44x. But for compatibility, i think it should be `ba 0x0',
because there's different number of 'nops' in head.S for different cpus.

Actually, in linux-2.4.26, linux-2.4.30, i also found the same problem.
but in linux-2.6, it seems solved already.

Thank you.

patch below:

diff -rNu linux-2.4.25/arch/ppc/boot/common/relocate.S linux-2.4.25.me/arch/ppc/boot/common/relocate.S
--- linux-2.4.25/arch/ppc/boot/common/relocate.S        2003-08-25 19:44:40.000000000 +0800
+++ linux-2.4.25.me/arch/ppc/boot/common/relocate.S     2005-05-27 12:07:05.000000000 +0800
@@ -203,6 +203,7 @@
         * three instructions are 'nop' since we
         * sometimes overwrite them).
         */
-       ba      0x000c
+       #ba     0x000c
+       ba 0x0

        .comm   .stack,4096*2,4

Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help