c_fcr0 was missing, and segattach() should be _SEGATTACH. Reference: /n/atom/patch/applied2013/rbapeap2 Date: Wed Jul 31 19:15:06 CES 2013 Signed-off-by: quanstro@quanstro.net --- /sys/src/ape/lib/ap/mips/c_fcr0.s Thu Jan 1 00:00:00 1970 +++ /sys/src/ape/lib/ap/mips/c_fcr0.s Wed Jul 31 19:14:37 2013 @@ -0,0 +1,3 @@ + TEXT C_fcr0(SB), $0 + MOVW FCR0, R1 + RET --- /sys/src/ape/lib/ap/mips/lock.c Wed Jul 31 19:14:38 2013 +++ /sys/src/ape/lib/ap/mips/lock.c Wed Jul 31 19:14:38 2013 @@ -32,7 +32,7 @@ switch(arch) { case POWER: v = (void*)Lockaddr; - if(segattach(SG_CEXEC, "lock", v, Pagesize) == (void*)-1) { + if(_SEGATTACH(SG_CEXEC, "lock", v, Pagesize) == (void*)-1) { arch = MAGNUM; break; }