]> git.sur5r.net Git - u-boot/commitdiff
ppc/85xx: Disable all async interrupt sources when we boot
authorKumar Gala <galak@kernel.crashing.org>
Fri, 11 Sep 2009 20:28:41 +0000 (15:28 -0500)
committerKumar Gala <galak@kernel.crashing.org>
Wed, 16 Sep 2009 02:30:09 +0000 (21:30 -0500)
We should make sure to clear MSR[ME, CE, DE] when we boot an OS image
since we have changed the exception vectors and the OSes vectors might
not be setup we should avoid async interrupts at all costs.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
cpu/mpc85xx/cpu_init.c

index 48a82eda6d8006432db98527b47c05058f8e1795..a6d1e999b60c198bd1a73046dffe7e367d71d505 100644 (file)
@@ -364,5 +364,16 @@ extern void setup_ivors(void);
 
 void arch_preboot_os(void)
 {
+       u32 msr;
+
+       /*
+        * We are changing interrupt offsets and are about to boot the OS so
+        * we need to make sure we disable all async interrupts. EE is already
+        * disabled by the time we get called.
+        */
+       msr = mfmsr();
+       msr &= ~(MSR_ME|MSR_CE|MSR_DE);
+       mtmsr(msr);
+
        setup_ivors();
 }