--- 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;