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:
parent
1c94c73568
commit
d328b9fcc7
@ -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();
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user