188 |
188 |
189 |
189 |
190 /** |
190 /** |
191 mark a core as retired |
191 mark a core as retired |
192 |
192 |
193 @pre called by idle handler |
193 @pre called by idle handler as part of idle entry before |
|
194 any syncpoint or calls to SetLocalAndCheckSetGlobalIdle |
194 */ |
195 */ |
195 void TIdleSupport::MarkCoreRetired(TUint32 aCpuMask) |
196 void TIdleSupport::MarkCoreRetired(TUint32 aCpuMask) |
196 { |
197 { |
197 __e32_atomic_and_rlx32(&iAllEngagedCpusMask,~aCpuMask); |
198 __e32_atomic_and_rlx32(&iAllEngagedCpusMask,~aCpuMask); |
198 PMBTRACE4(KRetireCore,KRetireMarkCoreRetired,aCpuMask); |
199 PMBTRACE4(KRetireCore,KRetireMarkCoreRetired,aCpuMask); |
199 } |
200 } |
200 |
201 |
201 /** |
202 /** |
202 mark a core as enaged |
203 mark a core as enaged |
203 @pre called outside idle handler |
204 @pre called outside idle handler ( can be called in idle entry before |
|
205 any syncpoint or calls to SetLocalAndCheckSetGlobalIdle |
204 */ |
206 */ |
205 void TIdleSupport::MarkCoreEngaged(TUint32 aCpuMask) |
207 void TIdleSupport::MarkCoreEngaged(TUint32 aCpuMask) |
206 { |
208 { |
207 __e32_atomic_ior_rlx32(&iAllEngagedCpusMask,aCpuMask); |
209 __e32_atomic_ior_rlx32(&iAllEngagedCpusMask,aCpuMask); |
208 PMBTRACE4(KEngageCore,KEngageMarkCoreEngaged,aCpuMask); |
210 PMBTRACE4(KEngageCore,KEngageMarkCoreEngaged,aCpuMask); |