diff -r 0ff03867bdb6 -r 39b39e1a406e kernel/eka/drivers/power/smppower/idlehelper.cia --- a/kernel/eka/drivers/power/smppower/idlehelper.cia Wed Jul 21 14:46:58 2010 +0100 +++ b/kernel/eka/drivers/power/smppower/idlehelper.cia Thu Jul 22 16:46:39 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of the License "Eclipse Public License v1.0" @@ -85,12 +85,12 @@ LDREX(3,1); // r3 = iIdlingCpus asm("orr r3,r0,r3"); // orr in mask for this CPU asm("cmp r3,r2"); // compare to iAllEngagedCpusMask - asm("orreq r3,r3,#%a0" : : "i" (TIdleSupport::KGlobalIdleFlag)); // if equal orr in KGlobalIdleFlag + asm("orreq r3,r3,#%a0" : : "i" ((TInt)TIdleSupport::KGlobalIdleFlag)); // if equal orr in KGlobalIdleFlag STREX(12,3,1); asm("cmp r12, #0 "); // asm("bne 1b "); // write didn't succeed try again __DATA_MEMORY_BARRIER__(r12); - asm("and r0,r3,#%a0" : : "i" (TIdleSupport::KGlobalIdleFlag)); + asm("and r0,r3,#%a0" : : "i" ((TInt)TIdleSupport::KGlobalIdleFlag)); __JUMP(,lr); asm("__iAllEngagedCpusMask:"); asm(".word %a0" : : "i" ((TInt)&TIdleSupport::iAllEngagedCpusMask));// @@ -125,7 +125,7 @@ asm("stmfd sp!, {r4-r5,lr} "); asm("add r0,r0,#%a0" : : "i" _FOFF(TSyncPointBase, iStageAndCPUWaitingMask)); // skip vt asm("ldr r4,[r0,#4]"); - asm("ldr r4,[r4]") + asm("ldr r4,[r4]"); __DATA_MEMORY_BARRIER_Z__(r12); // asm("1: "); LDREX(2,0); // r2 = iStageAndCPUWaitingMask, r4 = iAllEnagedCpusMask @@ -149,7 +149,7 @@ #endif asm("2: "); asm("cmp r3,r5"); // all (old stage does not equal new stage) - asm("ldmfdne sp!, {r4-r5,pc}"); // yup return + asm("ldmnefd sp!, {r4-r5,pc}"); // yup return #ifdef SYNCPOINT_WFE __DATA_MEMORY_BARRIER__(r12); ARM_WFE; @@ -188,7 +188,7 @@ asm("stmfd sp!, {r4,lr} "); asm("add r0,r0,#%a0" : : "i" _FOFF(TSyncPointBase, iStageAndCPUWaitingMask)); // skip vt asm("ldr r4,[r0,#4]"); - asm("ldr r4,[r4]") + asm("ldr r4,[r4]"); __DATA_MEMORY_BARRIER_Z__(r12); // asm("1: "); LDREX(2,0); // r2 = iStageAndCPUWaitingMask, r4 = iAllEnagedCpusMask @@ -208,7 +208,7 @@ #endif asm("2: "); asm("ands r3,r2,#0x80000000"); // MSB set? - asm("ldmfdne sp!, {r4,pc}"); // yup return + asm("ldmnefd sp!, {r4,pc}"); // yup return #ifdef SYNCPOINT_WFE __DATA_MEMORY_BARRIER__(r12); ARM_WFE;