Dont worry about PSL_RI (restartable interrupt indicator) in

common PowerPC code when all we want to achieve is to enable
external interrupts. We can set PSL_RI at any time before we
allow interrupts and/or exceptions, so move it to the AIM
specific initialization and do it when we also set PSL_ME
(machine check enable).
This commit is contained in:
marcel 2008-09-15 01:03:16 +00:00
parent 1c94c73568
commit d328b9fcc7
3 changed files with 3 additions and 6 deletions

View File

@ -169,7 +169,7 @@ cpudep_ap_bootstrap(volatile uint32_t *trcp)
trcp[0] = 0x2003;
trcp[1] = hid;
msr = PSL_IR | PSL_DR | PSL_ME;
msr = PSL_IR | PSL_DR | PSL_ME | PSL_RI;
mtmsr(msr);
isync();

View File

@ -75,11 +75,8 @@ configure_final(void *dummy)
powerpc_enable_intr();
/* Enable external interrupts. */
#if defined(AIM)
mtmsr(mfmsr() | PSL_EE | PSL_RI);
#elif defined(E500)
mtmsr(mfmsr() | PSL_EE);
#endif
cninit_finish();
cold = 0;
}

View File

@ -72,7 +72,7 @@ machdep_ap_bootstrap(volatile uint32_t *trcp)
/* Initialize curthread. */
PCPU_SET(curthread, PCPU_GET(idlethread));
mtmsr(mfmsr() | PSL_EE | PSL_RI);
mtmsr(mfmsr() | PSL_EE);
sched_throw(NULL);
}