From: Yuri Tikhonov <[EMAIL PROTECTED]>

The CPU POST test code (run from cpu_post_exec_31()) doesn't follow the
ABI carefully, at least the CR3, CR4, and CR5 fields of CR are clobbered
by it. The gcc-4.2 with its more aggressive optimization exposes this fact.
This patch just saves the CR value before running the test code, so allowing
it to do anything it wants with CR.

Signed-off-by: Dmitry Rakhchev <[EMAIL PROTECTED]>
Acked-by: Yuri Tikhonov <[EMAIL PROTECTED]>
--
diff --git a/post/lib_ppc/asm.S b/post/lib_ppc/asm.S
index 5e72b34..1279176 100644
--- a/post/lib_ppc/asm.S
+++ b/post/lib_ppc/asm.S
@@ -308,7 +308,10 @@ cpu_post_exec_31:
        lwz     r3, 0(r4)
        lwz     r4, 0(r5)
        mr      r6, r7
+
+       mfcr    r7
        blrl
+       mtcr    r7
 
        lwz     r7, 8(r1)
        stw     r3, 0(r7)

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
U-Boot-Users mailing list
U-Boot-Users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/u-boot-users

Reply via email to