Parcourir la source

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>
Stefan Roese il y a 16 ans
Parent
commit
25fb4eaaea
1 fichiers modifiés avec 4 ajouts et 0 suppressions
  1. 4 0
      cpu/ppc4xx/start.S

+ 4 - 0
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