From: Stefan Roese <sr@denx.de>
Date: Thu, 20 Nov 2008 10:46:20 +0000 (+0100)
Subject: ppc4xx: Clear all potentially pending exceptions in MCSR
X-Git-Tag: v2025.01-rc5-pxa1908~21699^2~9
X-Git-Url: http://git.dujemihanovic.xyz/posts?a=commitdiff_plain;h=25fb4eaaeab3f8866020818f4729d990dcc91cf0;p=u-boot.git

ppc4xx: Clear all potentially pending exceptions in MCSR

This is needed on Canyonlands which still has an exception pending
while running relocate_code(). This leads to a failure after trap_init()
is moved to the top of board_init_r().

Signed-off-by: Stefan Roese <sr@denx.de>
---

diff --git a/cpu/ppc4xx/start.S b/cpu/ppc4xx/start.S
index 882ef219a5..84d7a2889f 100644
--- a/cpu/ppc4xx/start.S
+++ b/cpu/ppc4xx/start.S
@@ -1440,6 +1440,10 @@ relocate_code:
 	dccci	0,0			/* Invalidate data cache, now no longer our stack */
 	sync
 	isync
+
+	/* Clear all potential pending exceptions */
+	mfspr	r1,mcsr
+	mtspr	mcsr,r1
 #ifdef CONFIG_SYS_TLB_FOR_BOOT_FLASH
 	addi	r1,r0,CONFIG_SYS_TLB_FOR_BOOT_FLASH	/* Use defined TLB */
 #else