Port-arm archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Platform specific fix for ARM MP startup issue



As I noted earlier, I am concerned about putting a platform specific
fix in the mainline code for this issue. I have tested this ARM
platform specific alternate solution successfully.

This patch eliminates the need to change the location of "cold = 0;"
in sys/kern/init_main.c, so there is no chance of affecting other
platforms.

Please consider adding this to the development branch...

The only file affected is src/sys/arch/arm/pic/pic.c:

netbsd$ cvs diff pic.c
Index: pic.c
===================================================================
RCS file: /cvsroot/src/sys/arch/arm/pic/pic.c,v
retrieving revision 1.72
diff -r1.72 pic.c
722a723,725
>       struct lwp *l = curlwp;
>       /* During init, we can still be on idle thread AFTER cold set to 0 */
>       int idle = (l->l_stat == LSIDL);
793c796
<       if (cold || !is->is_mpsafe) {
---
>       if (cold || idle || !is->is_mpsafe) {
netbsd$

Enjoy!
-Rory


Home | Main Index | Thread Index | Old Index