[ppc44x-patch] Is this a bug?

Chenfeng Zhou ini_autumn at 163.com
Fri May 27 14:08:26 EST 2005


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


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20050527/2a2c64be/attachment.htm 


More information about the Linuxppc-embedded mailing list